Time controlled elevator door motion

ABSTRACT

An elevator system has a microprocessor-based cab controller mounted directly on the elevator car, the elevator door mechanism is connected to a transducer which provides signals as a function of the position of the door mechanism, and the cab controller controls the door motion in a closed loop manner by providing door command signals to the elevator door mechanism in dependence upon the deviation of the present door velocity from a current value of a dictated velocity in accordance with a desired door traverse velocity profile which includes desired increasing and decreasing rates of acceleration and deceleration, and desired maximum velocity, acceleration and deceleration. The disclosure includes a typical elevator system, an exemplary cab controller, and an exemplary door control program flowchart as an environment for the present invention, in addition to details concerning the invention.

DESCRIPTION TECHNICAL FIELD

This invention relates to elevators, and more particularly to a dictatedelevator door velocity profile.

BACKGROUND ART

As is well known, elevator cars typically employ doors which open andclose to allow passenger transfer between the car and the floorlandings. Modern, high-speed elevators can typically travel at speeds onthe order of 200 meters per minute, and therefore travel from onelanding to the next, at full speed without stopping, in about 1 second.For each stop, the elevator must decelerate and reaccelerate, and openits door long enough for passenger transfer. The typical time for amodern elevator landing stop is on the order of 13 or 14 seconds, andthis time accumulates quite rapidly in elevators serving many floors.Therefore, an elevator design goal is to open and close the doors in theleast possible time. However, passenger confidence requires that thedoors work fairly smoothly, so as not to portray an image of elevatorunreliability. Also, door velocity is limited, to limit the kineticenergy of the door to a reasonably safe level, particularly whenclosing, so that passengers will not be injured by the door. Also, thedoor must be decelerated to a stop and reaccelerated, within a requisitedistance, as required by safety codes, whenever a passenger activatesdoor safety device during closing.

In elevators known to the art, the most common type of door operatoremploys analog door motor control, the voltage supplied to the motorbeing controlled by varying resistances in the circuit in accordancewith door position, utilizing cam switches spaced along the travel pathof the door, relays, potentiometers and the like. These devices, beingbasically mechanical in nature, are subject to wear and require frequentadjustment, causing a major portion of the maintenance cost thereof.Additionally, optimal operation can never be achieved with such systemssince a perfect adjustment is not possible, and adjustments to perfectone parameter frequently detract from another parameter. Because suchdevices are imperfect and are adjusted on a door by door basis, thecharacteristics are not capable of being theoretically defined inadvance, and diagnostics of problems are extremely difficult.

DISCLOSURE OF INVENTION

Objects of the invention include predictable elevator door operationwhich is smooth while taking the least possible time.

According to the present invention, an elevator door is driven inresponse to a dictated door traverse velocity profile provided frompredetermined values of desired rates of acceleration and decelerationand desired maximum velocity, acceleration and deceleration. Accordingto further aspects of the invention: the dictated velocity provides aprofile in which the door is accelerated with increasing acceleration toa maximum acceleration, accelerated with decreasing acceleration to amaximum velocity, moved at maximum velocity, decelerated with increasingdecelerations to a maximum deceleration, and decelerated with decreasingdecelerations to a desired end velocity; door motion command signals arecyclically provided in response to the deviation of the actual doorvelocity from the value of the dictated door velocity; and, the dictatedprofile is cyclically calculated.

The present invention provides door motion which can be predetermined,and the characteristics of which can be analyzed and controlled. Sincethe invention requires no positional cams, stops, switch operators orpotentiometers of any type, and utilizes nonmechanical apparatus forcontrolling the commands to the motor, the invention provides morereliable door operation than is known in the art. The invention alsoprovides door motion which is smooth and fast, while maintaining safety.The invention can be implemented in a wide variety of fashions,utilizing apparatus and techniques which are readily available in theart, in the light of the specific teachings of the invention which areexplained further hereinafter.

The foregoing and other objects, features and advantages of the presentinvention will become more apparent in the light of the followingdetailed description of exemplary embodiments thereof, as illustrated inthe accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a simplified, schematicized view of an elevator system inwhich the present invention may be practiced;

FIG. 2 is a simplified block diagram of a controller which may beutilized in the elevator system of FIG. 1;

FIG. 3 is a simplified, broken away schematicized illustration of anelevator door operator for use with the present invention;

FIG. 4 is an illustration of dictated acceleration and velocity, as wellas position, of a time-controlled elevator door opening profile, on acommon time base;

FIG. 5 is an illustration of dictated acceleration and velocity, as wellas position, of a position-controlled elevator door opening profile, ona common time base;

FIG. 6 is a logic flow diagram of the subroutines of a door controlroutine and door health and safety subroutines, which may be utilized inimplementing the present invention and/or its environment;

FIG. 7 is a logic flowchart of an initiation subroutine;

FIG. 8 is a logic flowchart of a door position/velocity subroutine;

FIG. 9 is a logic flowchart of a door direction subroutine;

FIG. 10 is a logic flowchart of a compensation subroutine;

FIG. 11 is a logic flowchart of a velocity/stall subroutine;

FIG. 12 is a logic flowchart of a stall dictation subroutine;

FIG. 13 is a logic flowchart of a position-controlled profile selectsubroutine;

FIG. 14 is a logic flowchart of a time-controlled profile selectsubroutine;

FIG. 15 is a logic flowchart of a profile modification subroutine;

FIG. 16 is a logic flowchart of a select acceleration and velocitysubroutine;

FIG. 17 is a logic flowchart of a generate position-controlled velocity(Vp) subroutine;

FIG. 18 is a logic flowchart of a generate time-controlled velocity (Vt)and error velocity (Verr) sub-routine; and

FIGS. 19 and 20 are logic flowcharts of a dynamic compensationsubroutine.

BEST MODE FOR CARRYING OUT THE INVENTION

A simplified description of a multi-car elevator system, of the type inwhich the present invention may be practiced, is illustrated in FIG. 1.Therein, a plurality of hoistways, HOISTWAY "A" 1 and HOISTWAY "F" 2 areillustrated, the remainder are not shown for simplicity. In eachhoistway, an elevator car or cab 3, 4 is guided for vertical movement onrails (not shown). Each car is suspended on a rope 5, 6 which usuallycomprises a plurality of steel cables, that is driven either directionor held in a fixed position by a drive sheave/motor/brake assembly 7, 8,and guided by an idler or return sheave 9, 10 in the well of thehoistway. The rope 5, 6 normally also carries a counterweight 11, 12which is typically equal to approximately the weight of the cab when itis carrying half of its permissable load.

Each cab 3, 4 is connected by a traveling cable 13, 14 to acorresponding car controller 15, 16 which is located in a machine roomat the head of the hoistways. The car controllers 15, 16 provideoperation and motion control to the cabs, as is known in the art. In thecase of multi-car elevator systems, it has long been common to provide agroup controller 17 which receives up and down hall calls registered onhall call buttons 18-20 on the floors of the buildings, allocates thosecalls to the various cars for response, and distributes cars among thefloors of the building, in accordance with any one of several variousmodes of group operation. Modes of group operation may be controlled inpart by a lobby panel 21 which is normally connected by suitablebuilding wiring 22 to the group controller in multi-car elevatorsystems.

The car controllers 15, 16 also control certain hoistway functions whichrelate to the corresponding car, such as the lighting of up and downresponse lanterns 23, 24, there being one such set of lanterns 23assigned to each car 3, and similar sets of lanterns 24 for each othercar 4, designating the hoistway door where service in response to a hallcall will be provided for the respective up and down directions.

The foregoing is a description of an elevator system in general, and, asfar as the description goes thus far, is equally descriptive of elevatorsystems known to the prior art, and elevator systems incorporating theteachings of the present invention.

Although not required in the practice of the present invention, theelevator system in which the invention is utilized may derive theposition of the car within the hoistway by means of a primary positiontransducer (PPT) 25, 26 which may comprise a quasi-absolute, incrementalencoder and counting and directional interface circuitry of the typedescribed in a commonly owned copending U.S. patent application ofMarvin Masel et al, Ser. No. 927,242, filed on July 21, 1978, (acontinuation of Ser. No. 641,798, filed Dec. 18, 1975), entitled HIGHRESOLUTION AND WIDE RANGE SHAFT POSITION TRANSDUCER SYSTEMS. Suchtransducer is driven by a suitable sprocket 27, 28 in response to asteel tape 29, 30 which is connected at both its ends to the cab andpasses over an idler sprocket 31, 32 in the hoistway well. Similarly,although not required in an elevator system to practice the presentinvention, detailed positional information at each floor, for more doorcontrol and for verification of floor position information derived bythe PPT 25, 26, may employ a secondary position transducer (SPT) 32, 33of the type disclosed and claimed in a commonly owned copending U.S.application filed on Nov. 13, 1979 by Fairbrother, Ser. No. 093,475. Or,if desired, the elevator system in which the present invention ispracticed may employ inner door zone and outer door zone hoistwayswitches of the type known in the art.

The foregoing description of FIG. 1 is intended to be very general innature, and to encompass, although not shown, other system aspects suchas shaftway safety switches and the like, which have not been shownherein for simplicity, since they are known in the art and not a part ofthe invention herein.

All of the functions of the cab itself are directed, or communicatedwith, by means of a cab controller 33, 34 in accordance with the presentinvention, and may provide serial, time-multiplied communications withthe car controller as well as direct, hard-wired communications with thecar controller by means of the traveling cables 13, 14. The cabcontroller, for instance, will monitor the car call buttons, door openand door close buttons, and other buttons and switches within the car;it will control the lighting of buttons to indicate car calls, and willprovide control over the floor indicator inside the car which designatesthe approaching floor. The cab controller interfaces with load weighingtransducers to provide weight information used in controlling themotion, operation, and door functions of the car. The load weighing maybe in accordance with the invention described and claimed in commonlyowned copending patent applications filed on Nov. 28, 1979 by Donofrio,Ser. No. 98,004 and by Games, Ser. No. 098,003. A most significant jobof the cab controller 33, 34 is to control the opening and closing ofthe door, in accordance with demands therefore under conditions whichare determined to be safe.

The makeup of microcomputer systems, such as may be used in theimplementation of the car controllers 15, 16, a group controller 17, andthe cab controllers 33, 34, can be selected readily available componentsor families thereof, in accordance with known technology as described invarious commercial and technical publications. These include "AnIntroduction to Microcomputers, Volume II, Some Real Products" publishedin 1977 by Adam Osborne and Associates, Inc., Berkeley, California,U.S.A., and available from Sydex, Paris, France; Arrow International,Tokyo, Japan, L. A. Varah Ltd., Vancouver, Canada, and Taiwan ForeignLanguage Book Publishers Council, Taipei, Taiwan. And, "DigitalMicrocomputer Handbook", 1977-1978 Second Edition, published by DigitalEquipment Corporation, Maynard, Massachusetts, U.S.A. And, Simpson, W.D., Luecke, G., Cannon, D. L., and Clemens, D. H., "9900 Family SystemsDesign and Data Book", 1978, published by Texas Instruments, Inc.,Houston, Texas, U.S.A. (U.S. Library of Congress Catalog No. 78-058005).Similarly, the manner of structuring the software for operation of suchcomputers may take variety of known forms, employing known principleswhich are set forth in a variety of publications. One basic fundamentaltreatise is "The Art of Computer Programming", in seven volumes, by theAddison-Wesley Publishing Company, Inc., Reading, Mass., and Menlo Park,Calif., U.S.A.; London, England; and Don Mills, Ontario, Canada (U.S.Library of Congress Catalog No. 67-26020). A more popular topicalpublication is "EDN Microprocessor Design Series" published in 1975 byKahners Publishing Company (Elecronic Division News), Boston,Massachusetts, U.S.A. And a useful work is Peatman, J. B.,"Microcomputer-Based Design" published in 1977 by McGraw Hill BookCompany (worldwide), U.S. Library of Congress Catalog No. 76-29345.

The software structures for implementing the present invention, andperipheral features which may be disclosed herein, may be organized in awide variety of fashions. However, utilizing the Texas Instruments 9900family, and suitable interface modules for working there with, anelevator control system of the type illustrated in FIG. 1, with separatecontrollers for the cabs, the cars, and the group, has been implementedutilizing real time interrupts, power on causing a highest priorityinterrupt which provides system initialization (above and beyondinitiation which may be required in any given function of one of thecontrollers). And, it has employed an executive program which respondsto real time interrupts to perform internal program functions and whichresponds to communication-initiated interrupts from other controllers inorder to process serial communications with the other controllers,through the control register unit function of the processor. The variousroutines are called in timed, interleaved fashion, some routines beingcalled more frequently than others, in dependence upon the criticalityor need for updating the function performed thereby. Specifically, thereis no function relating to elevatoring which is not disclosed hereinthat is not known and easily implemented by those skilled in theelevator art in the light of the teachings herein, nor is there anyprocessor function not disclosed herein which is incapable ofimplementations using techniques known to those skilled in theprocessing arts, in the light of the teachings herein.

The invention herein is not concerned with the character of any digitalprocessing equipment, nor is it concerned with the programming of suchprocessor equipment; the invention is disclosed in terms of animplementation which combines the hardware of an elevator system withsuitably-programmed processors to perform elevator functions, which havenever before been performed. The invention is not related to performingwith microprocessors that which may have in the past been performed withtraditional relay/switch circuitry nor with hard wired digital modules;the invention concerns new elevator functions, and the disclosure hereinis simply illustrative of the best mode contemplated for carrying outthe invention, but the invention may also be carried out with othercombinations of hardware and software, or by hardware alone, if desiredin any given implementation thereof.

Referring now to FIG. 2, a cab controller 33 is illustrated simply, in avery general block form. The cab controller is based on a microcomputer1 which may take any one of a number of well-known forms. For instance,it may be built up of selected integrated circuit chips offered by avariety of manufacturers in related series of integrated circuit chips,such as the Texas Instruments 9900 Family. Such a microcomputer 1 maytypically include a microprocessor (a central control and arithmetic andlogic unit) 2, such as a TMS 9900 with a TIM 9904 clock, random accessmemory 3, read only memory 4, an interrupt priority and/or decodecircuit 5, and control circuits, such as address/operation decodes andthe like. The microcomputer 1 is generally formed by assemblage of chips2-6 on a board, with suitable plated or other wiring so as to provideadequate address, data, and control busses 7, which interconnect thechips 2-6 with a plurality of input/output (I/O) modules of a suitablevariety 8-11. The nature of the I/O modules 8-11 depends on thefunctions which they are to control. It also depends, in each case, onthe types of interfacing circuitry which may be utilized outboardtherefrom, in controlling or monitoring the elevator apparatus to whichthe I/O is connected. For instance, the I/Os 8, 9 being connected to carcontrol buttons and lamps 12a and to switches and indicators 12b maysimply comprise buffered input and buffered output, multiplexer anddemultiplexer, and voltage and/or power conversion and/or isolation soas to be able to sense car call button closure and to drive lamps with asuitable power, whether the power is supplied by the I/O or externally.Similarly, the I/O 9 may be required to cause a floor warning gong or anemergency buzzer to sound, to light indicators indicative of elevatoroperating mode, and to sense switches (such as an emergency powerswitch, or key switches for express operation and the like), and tooperate and monitor door motor safety relays. On the other hand, the I/O10 must either service an amplifier indicated as part of a door motor14, or it must provide the amplification function. In such case, the I/O10 may be specifically designed to be used as an I/O for a door motor14; but if the door motor 14 includes its amplifier and monitoringcircuitry, then a conventional data I/O 10 may be used. Similarly, anI/O 11 communicating with multi-functional circuitry 15, including doormotor current feedback 16, a door position transducer 17, cab weighttransducers 18, and a secondary position transducer 19 (which indicatesthe position of the car with respect to each floor landing) may be ageneral data I/O device if the functions are provided for in thecircuitry 15, or it may be a specially-designed I/O device so as toperform necessary interfacing functions for the specific apparatus16-19.

Communication between the cab controller 33 of FIG. 2 and a carcontroller (such as car controller 15 illustrated in FIG. 1) is by meansof the well known traveling cable 13. However, because of the capabilityof the cab controller 33 and the car controller 15 to provide a serialdata link between themselves, it is contemplated that serial, timedivision multiplexed communication, of the type which has been known inthe art, will be used between the car and cab controllers. In such case,the serial communication between the cab controller 33 and the carcontroller 15 may be provided via the communication register unitfunction of the TMS-9900 microprocessor integrated circuit chip family,or equivalent. However, multiplexing to provide serial communicationsbetween the cab controller and the car controller could be provided inaccordance with other teachings, known to the prior art, if desired.

The traveling cable also provides necessary power to the microcomputer 1as well as the door motor 14. For instance, ordinary 60 hz AC may besupplied to the microcomputer 1 so that its power supply can provideintegrated circuit and transistor operating voltages to the variouschips within the microcomputer 1, and separate DC, motor-operating powermay be provided to the door motor 14. Other direct communications, suchas between the secondary position transducer and the operationcontroller may be provided by hard-wiring in the traveling cable.Although not illustrated herein, additional wires for safety switches,power, and the like are also typically provided within the travelingcable. The desirability, however, of utilizing serial, time-divisionmultiplex communications between the cab controller 33 and the carcontroller 15 is to reduce to two, the number of wires which may benecessary to handle as many as 200 discrete bits of information (such ascar direction, request to open the door, car call registrations forparticular floors, and the like). However, this forms no part of thepresent invention and is not described further herein.

The door opening and closing controls described herein are capable ofbeing utilized with virtually any type of elevator door which isdesired. In order to understand the complexities of door operation morefully, a typical door operator is illustrated in FIG. 3. Therein, a door1 is shown, partially broken away at the bottom, in solid lines in afully closed position (to the right in FIG. 3), in heavy dashed lines ina fully open position (to the left in FIG. 3). The door is connected toa link 2 by a pivot 3 which in turn is connected to an arm slider member4 by a pivot 5. The member 4 has an arm 6 passing there through suchthat the member 4 must revolve about a pivot 7 of the arm 6 as the armrevolves, but the member 4 may slide longitudinally along the arm 6, ina well-known fashion. The arm 6 is formed integrally with or connectedto an arcuate member 8 to which there is connected a chain 9 affixedthereto at points 10, 11. The chain 9 engages a sprocket 12 which isdriven through reduction gears 13 by a door motor 14. To open the door,as depicted in FIG. 3, the motor turns in the clockwise direction,causing the arcuate member 8 and the arm 6 to similarly rotate in theclockwise direction about the pivot 7. The arm therefore pulls on thelink 4 driving it to the left or open position, which in turn drives thelink 2 and therefore the door 1 through the pivot 3. As the door movestoward the open position, the link 2 rotates clockwise about the pivot3, and the link 4 rotates clockwise about the pivot 5. At the end oftravel, in the fully-open position, the links 2, 4, and the arm 6 havethe position shown broken away at the left in FIG. 3.

The necessary consequence of the conversion of rotary motion to linearmotion, as depicted in FIG. 3, is that the distance (as in centimeters)of the door motion per unit angle of revolution (as in degrees) of themotor 14 varies in dependence upon the actual door position. Forinstance, it is evident from FIG. 3 that the maximum door motion perincrement of motor angle will occur when the door is midway between theopen and closed position, and will be somewhat less near thefully-opened or fully-closed positions. This variation in linkage isaccommodated, as described hereinafter with respect to FIGS. 8, 10, 12,and 20, by means of a map or table of empirically determined values ofincremental changes in door position for changes in motor position, as afunction of door position.

When the arm 6 is vertical, its weight creates no force on the armslider member; but when it is in any other position, the weight of thearm 6 affects door motion. During the first half (approximately) oftravel, the arm aids motion (in either direction), but it impedes motionduring the second half.

The actual door position may be monitored by a door position transducer16 which is connected to the door motor shaft (or on the same shaft) ormay be driven by the door motor in some other suitable fashion, such asa rack and pinion to provide a pair of phase related (directionindicating) bits over lines 18 to interface circuitry 19, which includesmeans to determine from the relative time of occurrence of the bits onthe lines 18 whether the door is closing or opening, and thus providethe door closing flag signal on a line 20, and to sense the number ofbits per cycle as an indication of door velocity and transmitting anindication thereof as the TRANS bits on lines 21. This circuitry maytake the form of so much of the circuits described in the aforementionedMasel et al U.S. Patent Application as is necessary to acquire directionand count information from a single incremental encoder with quadratureoutput. The door position is derived by accumulating these bitselsewhere, followed by conversion from angles of rotation to actual doorposition, all of which is described with respect to FIG. 8, hereinafter.

Although not intended to be an accurate description of the manner inwhich the motor may be driven, FIG. 3 illustrates that a door amplifiercircuit 22 may be provided with a digital value of dictated current on abus of lines 23 to generate the desired current for the motor 14. Thecurrent is applied to the motor 14 only if a pair of safety relays 24,25 are suitably activated, as described more fully and claimed in acommonly owned copending U.S. patent application filed on even dateherewith by Doane, Deric and Roberts, Ser. No. 107,691. And a sensingresistor or the like 26 may provide a motor amplifier feedback currentvalue on a line 31 to the cab controller 33. More specifically, thesafety relay 24 is actuated by the door control routines when no faultsor failures are detected by the self health subroutines. Actuating therelay 24 connects a circuit 27 with the amplifier 22. On the other hand,if the relay 24 is disenergized (as shown), it will connect the circuit27 to a grounded resistor 28 which provides dynamic braking to the doormotor, in the fashion long known in the art. The relay 25 is controlledby the operation controller, in the car controller, and is activatedwhen the car controller determines that operation of the door should beleft in the hands of the cab controller. But if the car controllersenses that operation of the motor should absolutely be inhibited, orvetoed, then the relay 25 will be disenergized (as shown) so as toprevent the amplifier 22 from providing current to the motor 14. And,when in the disenergized state, the motor 14 is connected by means of adirect circuit 29 to the machine room to facilitate control of the motorby maintenance personnel directly from the machine room, such as toeffect an emergency evacuation from an elevator cab. A specificcondition that would cause the operation controller to disenergize therelay 25 is loss of motive power, with passengers in the elevator, andan inability to force the door open through normal logical control.

Referring now to FIG. 4, a time-controlled velocity profile, inaccordance with the invention herein, to provide maximum door operatingspeed consistent with safety constraints and smoothness of dooroperation, for the case of the door opening from a fully-closed positionto achieve a fully-open position, is illustrated with respect toacceleration, velocity, and position of the door on a common time timebase. The configurations in FIG. 4 are relative and qualitative, but doreflect in a meaningful way an opening door velocity profile which hasbeen achieved practicing such invention.

The profile is controlled in part by desired acceleration and rates ofchange of acceleration, and in part by desired beginning, maximum, andending velocities. In addition, the profile is controlled in part byposition, insofar as changing from acceleration to deceleration alongthe profile is concerned.

Specifically, the door is initially fully closed and its position istherefore zero. During the first centimeter or so of operation, the cabdoor will be moving by itself; but at a position of about 2.5centimeters from being fully closed, it will engage the hoistway doorand pull the hoistway door open along with itself. This position isdesignated herein as P HOIST. Between being fully closed and picking upthe hoistway door, the velocity profile is commanded by a fixed,relatively small velocity called V HOIST. This velocity is dictatedwithout regard to any acceleration, and prior to the commencement of theacceleration-control over the accelerating portion of the velocityprofile.

As soon as P HOIST is reached at a fixed velocity of V HOIST, theacceleration mode begins by piecewise integration of desired changes inacceleration per cycle, which is essentially a factor of positive jerk(jerk being the third derivative, or rate of change with time ofdistance, as is well known). For each cycle, the acceleration which hasbeen accumulated has added to it another increment of +A SLOPE, whichcontinues until the maximum desired acceleration is reached; integrationcontinues, but the acceleration is clamped at A MAX. Thereafter, thevelocity has a linear increase with no change in acceleration until apoint called V MID is reached. This is a point which is calculatedduring each profile from the desired V MAX to determine the velocity atwhich the acceleration should be diminished from maximum toward zero sothat the desired maximum velocity will be achieved with zeroacceleration. Then, in successive cycles, the acceleration is diminishedby the -A SLOPE value of desired decrease in acceleration per cycle (anegative value of jerk) until such time as V MAX is reached. Theprofile, however, is controlled by the achievement of V MAX, even if theacceleration has not integrated to zero by the time V MAX is reached;and, as in the case described hereinbefore, the negative accelerationslope values will continue to be integrated, and clamped at zero, butwill always be irrelevant since the velocity is limited at V MAX.

The profile of FIG. 4 then continues at maximum velocity with zeroacceleration until a point is reached called P DECL, a point which hasempirically been determined to be a desired point for startingdeceleration of the door. At this point, incremental values ofdeceleration per cycle (-D SLOPE) are accumulated in piecewiseintegration fashion so as to cause the door to decelerate to a maximumdeceleration, at which time the deceleration value is limited to D MAXso that the door velocity decreases linearly. This continues until avelocity, called V END, is reached, which velocity has been calculatedin the same fashion as V MID to determine the point where a diminishingdeceleration should commerce (-D SLOPE) so that the deceleration willreach zero at the time the velocity has reached a desired final or benchvelocity of a small magnitude which is referred to herein as V BENCH.The manner of establishing all the variables which may be selected inadvance of generating a time-controlled velocity profile is describedwith respect to FIG. 14 hereinafter. In accordance with one aspect ofthe invention (described and claimed in a commonly owned, copendingpatent U.S. application filed on even date herewith by Hmelovsky, andGames Ser. No. 107,803, a method of varying these parameters isdescribed with respect to FIG. 15. The actual profile generation isdescribed with respect to FIGS. 16 and 18, hereinafter.

A closing velocity profile has not been shown; however it would commenceat the fully-open position, with zero velocity, since the hoistway dooris already engaged by the car door when the doors are fully open. Theposition in such case starts out at maximum, and decreases to zero, orclosed. The profile is controlled by first a +A SLOPE, then A MAX, thena -A SLOPE, then V MAX, then a -D SLOPE, D MAX, and a +D SLOPE whichwill yield to a V BENCH, as described with respect to FIG. 4 above. Ineach of these cases, however, the direction and therefore the velocityand the acceleration are inverse from what they would be during anopening profile, in terms of actual door motor current polarity.However, the principals are the same as described with respect dooropening, above.

A position-controlled velocity in accordance with the inventiondescribed and claimed in a commonly owned copending U.S. patentapplication filed on even date herewith by Shung and Deric, Ser. No.107,671 is illustrated in FIG. 5. Therein, a door velocity profile, forthe opening direction, which is controlled principally by position, isshown. This profile is characterized by four different controllingregions. First, maximum acceleration is used to increase the velocity(Vt) from zero, by piecewise integration of the present velocity plusmaximum acceleration (expressed as the desired maximum rate of change ofvelocity per cycle). This continues until the desired maximum velocityis reached, after which the velocity is clamped at the maximum velocity.The integration of velocity may continue, but the result is ignored dueto the clamping at V MAX. Throughout all this time, a second velocity,referred to herein as Vp, is being calculated; this is a velocity thatwill smoothly bring the door to a desired bench velocity at a desiredtarget position. It is simply some constant times the remainingdistance. When this calculated velocity equals the time-controlledvelocity (Vt), this takes over in controlling the profile. In a typicalcase, this will occur at V MAX, at some position away from the targetposition, where Vp=V MAX. But if there is a door reversal or a removedstall condition or the like, it is always possible that the door willnot be able to achieve V MAX before it must begin decelerating in orderto reach the desired bench velocity at the appropriate position(target). This is illustrated in FIG. 5 by the heavy dash linesidentified with the legend "After Stall". And, with the indicatedpresent position forced to the target position, a slow, bench velocitycan be achieved for the entire door motion, if desired for safetyreasons.

As is described more fully hereinafter, this door velocity profile maybe used in conjunction with the time-controlled velocity profiledescribed hereinbefore with respect to FIG. 4, according to theinvention described more and claimed in a commonly owned copending U.S.patent application filed on even date herewith by Hmelovsky and Games,Ser. No. 107,804.

As illustrated in FIG. 6, a complete door control routine will consistof many subroutines to determine operating conditions, such as theposition of the car with respect to a landing, commands to open andclose the door, the health of various transducers, door reversaldevices, and the like, to determine whether the door should be open,opening, closed, or closing, and if door motion is required, todetermine whether it should be done at a slow final velocity, inaccordance with a velocity profile that is position controlled, or if itshould be accomplished with a principally time-controlled velocityprofile. And, when the door is impeded or against its open or closedstops, the nature of stall current which should be dictated to the doormotor. Various other features are performed in the enhancement of doormotor operation, as is described more particularly hereinafter.

The door control routine may be entered from the executive program basedupon real time interrupts decoded to the frequency that is required ofthe door control program, such as about every 16 milliseconds. Theprogram is reached through an entry point 1, and the first subroutinetherein 2 is referred to as autonomous mode, which provides for sensinga failure of communication between the cab controller and the carcontroller, and, when stopped at a landing, opening and closing thedoors while turning the lights on and off and sounding a buzzer tofrighten the passengers off the car which is described more fully andclaimed in a commonly owned copending U.S. patent application filed oneven date herein by Deric, Ser. No. 107,801. In a safety checksubroutine 3, various factors which can control the safe response todoor motion commands are taken into account (such as the car being closeto a landing) to permit commanded door operation only when safe, and toforce safe door conditions when necessary which is as described morefully and claimed in said application herewith of Doane, Deric andRoberts. In an initiation subroutine 4, specific door initializationduring a power on reset are made, and various conditions are establishedduring normal operations at the start of each pass through the doorcontrol routine so as to control the functioning thereof.

In a door position/velocity subroutine 5, the door motion transducerincrements are monitored and converted to linear door position andvelocity factors, as well as providing a linkage ratio as a function ofdoor position for use in door motor compensation and currentcalculations. In a door direction subroutine 6, commanded door directionand reversal requests are processed. A compensation subroutine 7provides motor current compensation components to take into account theweight of the door actuator arm, friction, and the force of the hoistwaydoor spirator or spring which is described more fully and claimed in acommonly owned copending U.S. patent application filed on even dateherewith by Hmelovsky, Ser. No. 107,700.

Determination of whether stall current should be dictated to the motoror a velocity profile should be dictated to the door motor isaccommodated in a velocity/stall subroutine 8. Stall current is dictatedto the door motor in a stall dictation subroutine 9, which is asdescribed more fully and claimed in a commonly owned copending U.S.patent application filed on even date herewith by Hmelovsky, Ser. No.107,674 when stall is indicated by the subroutine 8, and motor currentis outputted by a subroutine 9a. Otherwise, the factors for aposition-controlled velocity profile may be selected, in accordance withthe invention herein, in a position-controlled profile select subroutine10 or the factors for a time-controlled velocity profile may be selectedin a time-controlled profile selection subroutine 11. These are factorssuch as the maximum acceleration and velocity, final velocity, andconditions for changing from one acceleration or rate of acceleration toanother as the door is moved.

Selection of suitable acceleration and velocity factors is performed ina subroutine 12, a position-controlled velocity is dictated in asubroutine 13, and dictated velocity as well as the variance betweenactual and dicated velocity are provided in a subroutine 14. Actualcurrent is calculated and modified in accordance with specificconditions in the dynamic compensation subroutine 15 and outputted inthe subroutine 9a, which completes the door control program.

The door control program of FIG. D0 may return to the executive througha transfer point 16, and then a door health routine 17, including asafety relay subroutine 18, monitors certain conditions indicative ofthe health of the door operation function, and sets and monitors safetyrelays that may absolutely inhibit the car motion of door motion independence upon the safety conditions of the subroutine 17 or independence upon conditions in the operation controller. Normally, thedoor health subroutine 17, 18 will be performed following the doorcontrol routine, in each case. Completion of all of the door controlfunctions will cause return to the executive program through a transferpoint 19.

Referring now to FIG. 7, the door control routine and the initiationsubroutine is entered through an entry point 1. In test 2, any one ofthree different errors relating to the door amplifier, the transducersum or excessive initiation time will cause the door control routine tobe bypassed through a return point 3. The indications of these errorsare all generated in a door health subroutine described with respect tothe aforemention application of Doane, Deric and Roberts. But if thistest fails, indicating that there is no error, a test 4 determineswhether there is a partial initiation in progress. If not, a test 5determines whether initiation is requested (which occurs during powerup, as is described hereinbefore). It there is an initiation request, astep 6 establishes that a position-controlled velocity profile should beutilized rather than a time-controlled velocity profile. Then, in a step7, a command to close the doors is made, thus ensuring that the doorswill remain closed if they are, or causing the direction to be towardclosing if they are not fully closed at start-up. And, in step 8, thetransducer sum (the accumulation of door position transducer bits) isset to zero, so that the position controlled velocity (step 6), in theclosing direction (step 7) will be at the nearly-closed bench velocity(very slow, such as 4 cm/s, and therefore will be safe, regardless oforiginal door position and/or transducer setting. With these taskscomplete, that fact is indicated by setting a final initialization flagin step 9.

In the next pass through the subroutine of FIG. 7, test 4 will determinethat the final initiation flag has been set, and will cause step 10 todetermine if the door is fully closed, the command is to close the door,and the current dictation to the motor has been a stall dictation forthe last 0.8 of a second. The door fully closed indication tested instep 10 is provided by a switch which can be activated to indicate doorclosure only within about a centimeter of full door closure. If thesecriteria have not been met, then this indicates that the door is notfully closed, and initiation cannot be deemed to be complete; therefore,in the next subsequent cycle, this same test 10 will be made once again,and so forth. Eventually, the door will be closed with a closure commandand stall force will be dictated to the motor for 0.8 of a second.Thereafter, test 10 will be positive and this will be an indication ofthe end of door control initiation so that the initiation request flagis reset in step 11, and having finalized initiation, the finalinitiation flag is reset in step 12. On the next pass through the doorcontrol routine, step 2 will be negative, step 4 will be negative, andstep 5 will be negative, reaching a normal (noninitiating) portion ofthe subroutine, which commences with test 13. If the test isaffirmative, it indicates that the door is commanded to be open (andthus will stay open), it is fully open, and there has been stall currentdictated to the door (maintaining the door open) for at least 0.5seconds. Under this condition, it is known that the count in thetransducer should be a maximum count. This is the count which isaccumulated in a counter realted to the door transducer as describedwith respect to FIG. 3 hereinabove. Therefore, an affirmative resultfrom test 13 will set a transducer full flag in step 14, which may beutilized in the door health subroutine, described in the aforementionedapplication of Doane, Deric and Roberts, to determine if the maximumtransducer count is reasonable. But if step 13 determines that the dooris not fully open, test 15 will determine if the doors have been fullyclosed, without any command to open, and with dictated stall current forthe past 0.5 seconds. If so, this guarantees that the door is fullyclosed and therefore at a zero position, which fact is registered bysetting a position zero flag in step 16. But if tests 13 and 15determine that the door is neither fully open nor fully closed, thisfact is registered by step 17 resetting the transducer full flag (whichwill naturally occur after the doors have been fully opened but begin toclose). In each non-initiating door control routine in which tests 13 or15 are affirmative, step 18 resets the position-controlled velocity flagbecause the door may have been driven to the fully open or closedposition by a position-controlled velocity profile as a result ofreversal or blockage; but, now that the full open or closed position hasbeen reached, the preferred time control profile should be used for thenext door excursion. Step 19 ensures that the value of acceleration (anintegrated value) to be used in dictating the door velocity begins atzero, each time a new door motion profile is generated after the door isfully open or closed. Step 20 resets a high force flag (which isexplained with respect to FIG. 20, hereinafter), because high forcecould have caused the door to become fully open or closed, but thesubsequent motion of the door should be achieved with a normal profile,if possible. And step 21 resets a profile direction flag, which monitorsdirection change during a door velocity profile, as described withrespect to FIG. 9, hereinafter. In each pass through the initiationsubroutine, the door control program advances to the doorposition/velocity subroutine through a transfer point 22.

The door position/velocity subroutine of FIG. 8 is entered through atransfer point 1, and a test 2 determines if the door has been fullyclosed by testing the position zero flag (set in step 16, FIG. 7); ifso, the flag is reset in step 3 (thus ensuring that this is only gonethrough one time) and the transducer sum is set to zero in step 4. Thisis the manner of initializing the door position to zero when it isclosed. On subsequent normal passes after the door is commanded to open,test 15 (FIG. 7) will fail so step 16 (FIG. 7) will not set the positionzero flag, so test 2 will fail. In such cases, test 5 determines if thedoor motor direction is such as to provide closing of the door, or not.This is determined by testing a door closing flag, which is generated asdescribed hereinbefore (FIG. 3) with respect to the phase-oriented bitsof the door transducer. If the door is closing, the transducer summation(TRANS SUM) is reduced in step 6 by the increment in transducer countsince the last cycle (TRANS), but if test 5 is negative, indicating thatthe door is opening, the transducer sum is increased in step 7 by theincrement from the transducer. And, in such case, the transducer sum istested to see if it is excessive (such as in excess of 71,000increments) in test 8, and if it is, a transducer sum excess flag is setin step 9 the health routine 17 (FIG. 6). Had the door been closing,test 10 would determine whether a negative sum had been reached, and ifso, step 4 would restore it to zero. In the case of failure of step 8 orstep 10, no clamping or flagging occurs. In any case, the doorposition/velocity subroutine continues.

In FIG. 8, the accumulated transducer sum (which increases from zero onopening, and decreases from a near-maximum amount to zero on closing) isconverted to a door position, given in a lineal measurement such asfractions of a meter, by first finding, in step 11, the point where theparticular current transducer sum falls equal to or between theincremental arguments of a table of door positions as a function ofdiscrete transducer sums. Then, in step 12, a slope (Mp) of position asa function of transducer sum is determined by subtracting the position(N) corresponding to the lower argument determined in step 11 from theposition (N+1) corresponding to the higher argument determined in step11. In step 13, the actual position is determined by taking the lowerposition and adding to it the slope of the table times the differencebetween the actual transducer sum and the lower argument of the tabledetermined in step 11. In other words, steps 11 through 13 comprises anoperation well known as a linear interpretation, discrete table lookup,where the slope of interpolation is determined by the discrete values ofthe table, rather than being already provided. This requires additionalcalculation, but saves considerable storage space in the table,particularly where the table may have thousands of arguments as in thepresent case. In addition, the slope (Mp) determined in step 3 is usedin several other calculations described with respect to FIGS. 10 and 12to accommodate the fact that the ratio of motor motion to door motionchanges as the elbow-linkage flexes (that is, pivots), to a greater or,lessor extent, depending on door position, such door position beingindicated by the slope (the rate of change of door position for a givenincrement of angular position of the motor).

With the positional slope determined in step 12, step 14 can computevelocity by knowing the transducer increment, and the relative change inposition per transducer increment (the slope Mp), and an empiricallydetermined positional constant Kp which relates the incrementaltransducer bits, the door linkage as indicated by the slope Mp and thegranularity (or binary bit value) of these factors, to determine a doorvelocity. Then, test 15 determines whether the door motor directionindicates that the door is closing, which means that the position andvelocity are therefore decreasing, and if so, provides a minus sign by2's-complementing the door velocity value in step 15. If not, the signis left positive following test 15. Then, the door direction subroutineis reached by transfer point 17 in FIG. 8 which corresponds to entrypoint 1 in FIG. 9.

Referring now to FIG. 9, the door direction subroutine begins with atest 2 to determine if an initiation request is outstanding. If it is,the subroutine is bypassed to the profile direction change detectionportion of the subroutine. But after initiation is completed, eachnormal running of the door control program will pass through test 2 to atest 3 which determines whether the operation controller and/or thesafety check subroutine 3 of FIG. 6 have indicated that nudge is tooccur (which is low force current dictation and no door reversals). Ifnudge is indicated by step 3, the subroutine of FIG. 9 jumps ahead toinitially ensure that door reversal operations will not occur (by steps24-26 described hereinafter), or if a door reversal is already inprogress when safety nudge is indicated (such as because the car isslipping away from the floor) the affirmative result of test 3 willcause steps 24-26 to close the door without waiting for the logic anddoor motion to complete a door reversal, thereby closing the doorsrapidly enough to avoid passenger injury as a consequence of car motionor as a result of the car being away from the inner door zone.

If test 3 is negative, then a step 4 will register a reverse request ifreverse request 1 is present without an inhibit therefore, of if reverserequest 2 is present without an inhibit therefore, provided in each casethat reversals have not been prevented by the operation controller ofthe safety checks subroutine, as indicated by the not safety nudge test2. Reverse request 1 might be set in response to closing the door safetyshoe switches; reverse request 2 might be set in response to breaking adoor safety light beam; or one of them may respond to a proximitysensor.

In test 5, a reverse door command flag is tested; since this is set byportions of the subroutine which are reached by a negative result, itmust always yield a negative result in a first pass, whether doorreversal is requested or not. This, therefore, always leads to a test 6which determines if the commanded door direction is open. If opening, noreversal is needed. A negative result of test 6 indicates that the dooris not opening and reaches test 7, which determines if the car is in theinner door zone, the door is not fully closed, the door directioncommanded is closing, but the door open button inside the cab has beenpressed. This is a late request for door opening by a passenger, and isprocessed in step 7 since there is insufficient time to pass the requestto the operation controller, have it processed and returned in the formof a door open demand, before the permissible conditions for opening thedoor could disappear. This feature allows very fast and dynamic responseto door open requests from within the cab. If the result of test 7 isaffirmative, it is treated as a reversal request (in the same fashion asa reversal request generated in step 4, above). If it is negative, astep 8 will test for a regular reversal request, and an affirmativeresult from either of them will lead to step 9. Step 9 sets the reversedoor command bit which was previously tested in test 5, step 10registers the actual door position at the current moment as being theposition where reversal is requested: this is used at a later point inthe door direction subroutine of FIG. 9 (described hereinafter) todetermine whether the reversal has occurred within a desired distance.And a reverse opening flag, indicative of the opening phase of a doorreversal, is set into its negative state in step 11. Step 11 completesthe registration of a request for door reversal as such. Door reversalnecessarily happens only if the door is closing when it is desired tohave the door open. The first step in that process therefore is to stopthe closing door from travel in the negative direction before allowingthe door to begin travel in the positive direction. Therefore, a commandto actually open the door cannot be issued until the door is eitherstopped, (no longer closing) or very nearly so. The door becomes stoppedfrom motor current dictated in response to the reverse door command, asdescribed with respect to FIG. 19, hereinafter. In test 12, thiscondition is initially monitored. If the velocity is more positive than1.3 centimeters per second in a negative direction, that means it isvery close to zero or is actually opening (which can't occur in thiscircumstance), so that an open door command bit can be set in step 13.In the normal case, however, the pass through step 12 is likely to benegative so that step 14 will ensure that the open door command bit isreset.

On a second pass through the door direction subroutine of FIG. 9, whenthere is a need to reverse the door, test 5 will be affirmative sincethe reverse door command flag was previously set in step 9. This willlead to test 15 which must be negative on the first pass through itsince the reverse opening bit being tested therein can be set only in aportion of the subroutine reached by a negative response to test 15.This therefore reaches test 16 in which the door velocity is againinterrogated, in the same fashion as in test 12, to determine if thedoor is stopped, or very nearly stopped. If the door has not yet stopped(which is likely to be the case in a first pass through stop 16), thentest 17 is reached to determine whether the door has taken a distancegreater than about five centimeters to stop. This is computed bycomparing the reverse position, which was established in step 10, lessfive centimeters, with the present door position. If the door has gonemore than five centimeters as indicated in step 17, and step 16indicates the door is not yet virtually stopped, then a reverse distanceerror flag is set in step 18. In the present embodiment, the reversedistance error is not used to govern further control of the dooroperation, but simply establishes, for maintenance personnel, that thedoor is taking too long to come to a stop during a reversal; this couldlead to analysis of faulty reverse current dictations and the like, andhelp to insure more efficient elevator operation. In most passes throughstep 17, however, the five centimeter distance will not have beenexceeded.

During normal door reversal, subsequent passes through the doordirection subroutine of FIG. 9 will pass through tests 2, 5 and 15 toreach test 16, when ultimately the door will become essentially stoppedso that test 16 will yield an affirmative result. This begins the secondphase of a door reversal which is to commence the opening. When test 16is affirmative, step 19 sets a reverse opening flag and step 20 issuesthe actual working command to open the door. Note, in retrospect, thatthe open door command is the actual command which causes the door to infact be opened. The open door command is generated in normal,nonreversal situations in response to the safety door open demand, asdescribed with respect to this subroutine, below.

In subsequent passes through the door direction subroutine in FIG. 9,test 2 and test 5 lead to test 15. Since the reverse opening flag hasbeen set in step 19, test 15 will thereafter be affirmative, leading totest 21. Test 21 assumes that the embodiment of the invention may havean optional feature which allows limited door reversals, so thatreversal only continues while the reversal request (respectivelycorresponding to reverse request 1 and reverse request 2 in step 4) arecontinued to be made by the reversing device. If that is the case, thentest 21 will lead to a test 22 to determine if the reverse request isstill outstanding. If it is, then the reversal process is simplycontinued by passing through the subroutine. But once that reverserequest has ended, then the reversal is deemed to be complete as isdescribed more fully hereinafter.

If there is no limited reversal feature so that any reverse request mustresult in a full door reversal, then test 21 is negative and leads totest 23. Test 23 determines whether the door has been fully open for onesecond, or not. If it has, then the reversal process is complete. Eitherthe negative of test 22 or the affirmative of test 23, indicatingcompletion of the reversal process, will lead to step 24 where thereverse door command is reset, the open door command reverts to controlby the safety checks subroutine (and/or the operation controller) instep 25, and the reverse acceleration flag (which is set in the selectacceleration and velocity subroutine described with respect to FIG. 14hereinafter, is reset in step 26. Exiting from step 26 completes a doorreversal.

Assuming no reverse request or late door open buttons occur, or wheneverthe door is opening, subsequent passes through the door control routinewill cause the door direction subroutine of FIG. 9 to pass through test2 negatively, step 4 with a reverse request set to zero, step 5negatively, to step 6. In step 6, in any case where the door is opening,there is no need to create a reversal, so the non-reversing situation ismaintained by passing through the end-of-reversal steps, 24-26, toensure that there is no reverse door command, the door open command isunder safety and/or operational control, and there is no reverseacceleration flag. On the other hand, when the door is not opening, andthere is no reversal request, test 6 will be negative, test 7 will benegative, and test 8 will be negative, so that the same three steps24-26 are performed to ensure non-reversing situation.

In the normal case, the door is either commanded to open or it is notcommanded to open. When it is commanded to open in the normal case, itis because the operation control has sent down a door open demand. Thesafety checks subroutine (3, FIG. 6) is utilized in the normal case tocause the safety door open demand to follow the door open demand andstep 25 of the door direction subroutine of FIG. 9, causes the open doorcommand itself to follow the safety door open demand. Thus, the opendoor command is caused to follow the door open demand of the operationcontroller when the safety check subroutine allows it to do so. If theopen door command is set, an opening direction is indicated; if it isnot set, a closing direction is indicated. In practice, the open doorcommand is set to zero to cause the doors to close, when they are openand it now becomes time to close; and it is set to zero all the timethat the doors are closed and the car is in motion or is parked, in thewell known fashion common to elevators of the prior art.

At the bottom of FIG. 9, a portion of the door direction subroutinetests for the case where door motion has been commanded in onedirection, and before that command is completed, a command is receivedto alter the direction of the door. An example of when this could occuris during independent service. When the independent service key is on,the door is manually opened by depressing the door open button, and isclosed if the button is released before the door is fully opened. Thus,if an operator presses the door open button in the cab, and releases itafter the opening operation commences, the absence of the door openbutton being pressed will be communicated to the operation controller,which will convert the operation controller's door open demand to a notdoor open demand, ultimately causing the not open door command to begenerated in FIG. 9 as described hereinbefore. In such a case, there isno knowledge of where the door is when this occurs, so door motion inthe new direction must be controlled at a safe velocity in every case.In the bottom of FIG. 9, a test 27 determines whether the door commandis the same in this pass through FIG. 9 as it was in a previous passthrough FIG. 9. If it is, the door control program transfers to thecompensation subroutine of FIG. 10 through a transfer point 28. But ifthe commanded door direction has changed, step 27 will be negative and astep 29 will test the profile direction flag, which is always set tozero during normal initiation of FIG. 7 when the door is either fullyopen or fully closed, and therefore known to be before the start of aprofile. The start of a profile results from the door being fully openand a change from open door command to not open door command (close), orfrom being fully closed and a change from not open door command (close)to open door command. Once a profile is started, step 21 of FIG. 7 willno longer be reached because the door is neither fully open nor fullyclosed. Whichever direction a door profile is being commanded, once theprofile has begun, test 27 (FIG. 9) will cause test 29 to be reached andto fail, thus setting the profile direction flag in step 30. And aftersetting the profile direction flag, a step 31 will cause the last doorcommand to equal the present open door command (regardless of whether itis a one, indicating the opening direction or a zero indicating theclosing direction). The setting of the flag and equalizing the lastcommand to the present one (steps 30 and 31), establishes the directionof door motion for subsequent determination of direction change beforecompleting a traverse to the opposite stops (fully open or closed). Insubsequent passes through the door direction subroutine of FIG. 9, ifthe door direction is changed, step 29 will be affirmative and steps 32and 33 will call for position controlled velocity and will reestablishacceleration at zero to permit starting a new piecewise integrationthereof, or set it to a new value). This will cause aposition-controlled velocity profile, of the type indicated in FIG. 5,to be performed in the new door direction. This profile need not belimited to bench velocity as is the case during initiation, since theposition transducer data can be relied upon to cause the profile to easegently into the fully open or fully closed target position as a functionof the velocity being dicated by the distance remaining to go, which isdescribed more fully hereinafter.

The compensation subroutine of FIG. 10 is reached from transfer point 28in FIG. 9 which corresponds to transfer point 1 in FIG. 10. Thecompensation subroutine begins with a test 2 to determine door directionto generate a friction compensation factor in step 3 or 4, respectively,which will provide additional force in the direction of door travel(that is positive for the door opening and negative for the doorclosing). The frictional force can be determined empirically simply bycausing door motion, when it is in a loose condition, with a suitableforce scale, or by generating trial compensations to determine thosethat eliminate dynamic friction factors from the door behavior whichresults from dictated currents. The frictional force is multiplied bythe same constant D as is used in any case herein to relate force tocurrent, D being equal to a linkage constant (Kl) that relates the doormotor to nominal door position, the slope (Mp) of door motor angularposition to door position relationship as described with respect to thedoor position/velocity subroutine of FIG. 8 hereinbefore, divided by theproduct of the torque constant (Kt) and efficiency (E) of the doormotor.

In the compensation subroutine of FIG. 10, compensation is also providedfor the hoistway door closing spirator or spring. Whether the door isopening or closing, corresponding tests 5, 6 determine if the doorposition is greater than an empirically determined spring position: thatis, if the door is open sufficiently so as to be engaged with thehoistway doors and to be flexing the spirator (that tends to keep thehoistway doors closed when the cab doors are not engaging them).However, this position may be different when the door is opening than itis when the door is closing, so separate opening spring position andclosing spring position tests must be done in tests 5 and 6. In eithercase, however, compensation is generated in step 7 which provides aspring force times the constant D as described hereinbefore, which inthe case of the door opening is added to the previous compensation sincethe spring also works against door opening, but in the case of the doorclosing is subtracted from the compensation previously generated (whichis negative) so this is achieved by similarly adding this factor to thenegative compensation in step 7. The compensation factor is in terms ofcurrent, and is added into the dictated current at the end of thedynamic compensation subroutine, as is described with respect to FIG. 20hereinafter.

The subroutine of FIG. 10 then provides compensation for the weight ofthe door actuating arm (7, FIG. 3, hereinbefore), since the weight ofthe arm, when it is in a high angular position, such as in thefully-opened or fully-closed position, may provide sufficient force tothe door to be equivalent to on the order of 3.5 kilograms; yet when thedoor is half open, so that the arm is essentially vertical, the forceimposed on the door by the weight of the arm is zero. This, of course,varies from door to door and is a more pronounced problem for largedoors having large arms then it is for doors with small runs havingshorter arms. And, it can be eliminated where the door actuatingmechanism does not provide any such force; similarly, if such a force isconstant, it may be accommodated along with the frictional force, asdescribed hereinbefore.

In the subroutine of FIG. 10, compensation for the weight of the arm iscalculated in a step 8 as a function of a nominal arm force which isempirically determined to be applied to the door, times the factor Ddescribed hereinbefore, times a function of position, which is renderedcorrect for either a fully-opened or fully-closed position, or any pointin between, by taking half the maximum door position, subtracting doorposition from it, and dividing by half the maximum door position. Thus,in a one meter wide, double door, in which one of the doors is moved bythe door operator, and the other door is moved by mechanical linkageconnected to the first door, each door has a fully opened, maximum doorposition which is one half meter from the fully-closed position. In sucha case, the positional factor of step 22 for a fully-closed door wouldbe one half meter divided by two (which is one quarter of a meter),minus zero (fully closed), divided one half meter divided by two (whichis one quarter of a meter), yielding a total positional factor of plusone. And when the door is fully opened, the calculation would amount toa quarter of a meter minus a half a meter divided by a quarter of ameter which yields a positional factor of minus one. Thus, thecompensation is automatically corrected for, the sign depending uponwhich side of vertical the door arm is in, as is illustrated in FIG. 3.And, this arm compensation factor is the same regardless of direction ofdoor motion, being dependent only upon door position relative to thehalf-open position. Although the actual effect on the door is slightlysinusoidal with respect to door position, it is sufficiently close tolinear so that this compensation reduces the effect of the door armweight to a trivial amount. In a step 9, the arm compensation is addedto the compensation provided in steps 3, 4, and/or 7. And the doorcontrol program then proceeds to the velocity/stall subroutine throughtransfer point 10.

The velocity/stall subroutine illustrated in FIG. 11 determines whetherthe door control should dictate a stall current to the door, such aswhen the door is being nudged against a blockage, or when it is fullyopened or fully closed against stops (to maintain the door in thatposition with a suitable force, even though no door motion is possible).That is to say, current will be supplied to the motor so that the motorattempts to drive the door further against the blockage, but the motordoes not turn at all, and the door does not move, except when thedirection of stall current is reversed. Or, in the alternative, thevelocity/stall subroutine of FIG. 11 may determine that a normal (timecontrolled) door opening or door closing can be performed, which canonly occur when the doors are initially fully closed or fully open,respectively. Or, the subroutine may determine that aposition-controlled velocity profile should be employed due to the factthat the door position is not known, or other conditions prevent theassumption that a full, fast door opening or closing should occur, as isdescribed more fully below.

The velocity/stall subroutine is reached through an entry point 1 inFIG. 11, which corresponds to the transfer point 10 at the bottom ofFIG. 9, and begins with a test 2 to determine simply which doordirection is involved. If test 2 is affirmative, the door is open, to beopened or opening; but if test 2 is negative, the door is closed, to beclosed or closing. Assuming the door direction is open, test 3 willdetermine if the door is traveling faster than about 1.3 centimeter persecond in the positive direction: if not, the door is nearly stopped andtherefore is nearly open; but if test 3 is affirmative, the door isstill within its higher speed range of its opening profile. This isindicated by the legends on either side of test 3 in FIG. 11. If test 3is negative, meaning the door is very nearly fully open, then test 4will determine whether the door is fully open or not. If so, then stalldictation of motor current is indicated, and the door control routinewill advance through a transfer point 5 to the stall dictationsubroutine described hereinafter with respect to FIG. 12.

In a similar fashion, if test 2 of FIG. 11 indicates the absence of theopen door command, then the door direction is close, and test 6 willdetermine if the door speed is more negative than about -1.3 centimetersper second and if so, an affirmative test result indicates that the dooris closing; but if not, this means the negative velocity is very slightso that the doors are either closed or nearly so. Then, a test 7determines if the doors are indicated as fully closed by the door fullyclosed switch. If so, stall dictation is effected through the transferpoint 5.

If either test 4 or 7 is negative, when the doors are nearly closed oropen, then a test 8 will determine if the last cycle was a stall cycle(that is, was the current dictation to the motor in the previous passthrough the door control routine dictated for stall or not). If it was,this indicates that the door is being finally opened, or finally closed,with stall dictation, and this will be continued until the full open orfull closed condition is reached. But if not, then a test 9 is performedto see if, with the door nearly open or nearly closed, stall has beenindicated for about the past 0.3 seconds. If so, then stall can beinitiated. This means that as the door approaches the stops, the speedmay be jerky, and may dip below the 1.3 cm/s level, without shiftingback and forth between stall and velocity modes. But when the speed islow once, test 9 will transfer to stall and test 8 will keep it there.If the doors are nearly open or nearly closed and still in a velocityprofile, and 0.3 second has not yet passed in this condition, then test10 will determine whether an open or closed direction has been commandedfor the door, and the case is exactly the same as if the doors aremoving rapidly. Thus, in any case where the door is closing, asdetermined by tests 2 and 6 or by test 10, a test 11 will determinewhether nudge has been ordered by the safety check subroutine, and ifso, a position-controlled velocity profile is ordered in step 12. Ifnot, a test 13 determines whether or not door reversal is commanded, andif it is, a position-controlled velocity profile is commanded by step12. If opening, or closing without nudge or reversal, a test 14interrogates the high force flag; if excessive motor current has beendictated, indicating blockage, a position-controlled velocity profilewill be commanded by step 12.

These are cases where a normal, principally time-controlled velocityprofile for door motion cannot be used. Since a nudge can overcomeblockage midway of door opening, a reversal is always partway open, andhigh force indicates other than a freely-acceleratable door, the safe,position-controlled velocity profile is used.

In cases other than stall, test 15 of FIG. 11 determines whether aposition-controlled velocity profile has been commanded (such as in step12), and if so, selection of profile variables is made by transfer tothe position-controlled profile selection subroutine (FIG. 13) throughtransfer point 16; if not, transfer point 17 directs the door controlprogram to the time controlled profile selection subroutine of FIG. 14.

Referring now to FIG. 12, dictation of stall current is effected by thestall dictation subroutine which is entered through an entry point 1,the first step 2 of which is to set the dictated velocity equal to avalue of zero, so that a profile beginning after stall will start atzero. It is door blockage, from a person or object, or from the doorsbeing fully open or fully closed, that causes a stall current to bedictated to the motor; but if the stall cycle resulted from high force,as described in the dynamic compensation subroutine (FIG. 20)hereinafter, subsequent cycles could sense high force (door blockage)only once, and make it through the previously set high force time;therefore, step 3 of FIG. 12 resets the high force timer of FIG. 20.

Because of the possibility of injury to persons who might be within thedoor when closing is commanded, a test 4 is made to determine if thedoor power amplifier is disconnected from the door motor; if so, whenreconnected, it should start with zero current. And even if opening iscommanded, there is no need to perform any further steps of FIG. 12 ifthe motor is disconnected. So, if it is, the dictated current is causedto be zero in step 5, so that when the door amplifier resumes operation,it will not be rapidly accelerated and perhaps cause injury. But if thedoor motor is not out of operation, as indicated by a negative result oftest 4, then a test 6 of FIG. 12, determines the opening or closingstatus of the door. If the door is opening, test 7 determines whetherthe door is fully closed. If it is, it is just being commanded to open,and should be able to follow a normal velocity profile. Therefore, arather high force (32.4 Kgm) is permissible, the service door, whenopening, will not hurt any passengers. This force is commanded by a step8. But if the door is commanded open when it is not fully closed, andstall dictation is indicated, then it is is either due to blockage, ordue to already being fully open. Thus, a test 9 determines if the dooris fully open or not. If it is, then step 8 dictates a stall currentthat is necessary to generate 17.0 kilograms of force on the doors,using a factor, D, which is equal to the product of a linkage constant(Kl), between the door motor and the door itself, the slope (Mp) of theposition as a function of door motor rotation (which is derived asdescribed hereinbefore with respect to FIG. 8), all divided by thetorque constant of the motor (Kt) times the efficiency (E) of the motor.This is a limited force which is just sufficient to keep the door openagainst the steps.

If the door is not fully open, then the stall current is being dictatedbecause of a door blockage, rather than because the door is fully open.In such case, once the stall is removed, door velocity must be dictatedfrom some door position other than fully open, so a position-controlledvelocity profile will be required. For this reason, position-controlledvelocity will be set in step 10. And, dictated current to yield a forceof 32.4 kilograms on the doors is generated in step 11. If test 6 isnegative, the same functions are performed for the closing door asdescribed with respect to tests and steps 8,10 and 11 in the case of anopening door: if test 12 is affirmative, the closing command is callingfor a normal door closing, using a normal velocity profile. A step 13sets the current to be dictated as that for -11.3 Kgm, which is a forcepermitted by elevator codes in case a passenger should block the door.If the door is not fully open, then test 12 is negative and test 14determines if it is fully closed; if so, current for - 10.2 Kgm (in theclosing direction) is called for by step 15, to hold the door closed.But if not, then there must be a blockage, so the door cannot follow anormal profile in the next pass, and a step 16 sets the positioncontrolled velocity flag, and step 13 orders current for -11.3 kgm.Notice that the closing forces are smaller than the opening forces inorder to reduce the possibility of injury, and because the hoistway doorspirator opposes opening, but may aid closing. These forces will vary invarious elevator installations. If the doors are not fully closed, asmay happen if the doors are pried open by pranksters, a faultytime-controlled profile is avoided by step 16 ordering aposition-controlled velocity.

In step 17 of FIG. 12, the compensation current component generated inthe subroutine of FIG. 10a is added to the dictated current. Since thestall dictation subroutine is entered only during a stall cycle,regardless of which stall current (or zero) is dictated, step 18 willset the flag to indicate that the last cycle (this one) was a stallcycle, which affects many subroutines in the door control program. Theintegral gain current (X, which is described in the dynamic compensationsubroutine of FIG. 19 hereinafter) is set to zero in step 19, and thedictated current is outputted to the amplifier in the output I DICT toamplifier subroutine 9a (FIG. 6) through transfer point 20. The reasonthat the integration current is set to zero at this point is that inevent that the next cycle is not a stall cycle, the integral gaincurrent factor (X) will have been reset to zero to commence a freshintegration when a normal door velocity profile may be dictated. Whenstall dictation is utilized, no further door control operations arerequired, so the executive program can be returned to, through thereturn point 16 (FIG. 6).

The matter of actually commanding a fully closed door to open, in anormal case, begins with the operation controller sending a door opencommand (DR OPN CMND) to the cab controller via the communication linkand the safety door open demand will be set in the same way. In FIG. 9,step 25 causes the open door command (OPN DR CMND) to follow the safetydoor open demand. In FIG. 11, test 2 then changes from negative toaffirmative; the door velocity is zero, so test 3 is negative; the dooris fully closed so test 4 is negative. But, the last cycle was stall, sotest 8 is affirmative, and another stall dictation is commanded. In FIG.12, test 6 is now affirmative for the first time, but test 7 isaffirmative because the door has not yet moved away from its fullyclosed position, and so current is dictated for 32.4 kgm of force. Inone or two cycles, this will accelerate the door to more than +1.3cm/sec, so test 3 in FIG. 11 will soon be affirmative; with test 15negative, the actual time-controlled velocity profile will begin.

The case is similar for normal door closings. Thus, the door motion, fora normal profile, always commences with a reversal of stall currentdictation, and shifts into the profile after a minimal velocity (tests 3and 6, FIG. 11) is reached. When reversed stall current is commencing adoor excursion, if the indicated velocity is noisy, and test 3 or 6(FIG. 11) is momentarily overcome, the velocity profile will in fact bereached; but the disappearance of the noise, resulting in a subsequentnegative result of test 3 or 6 will not cause stall to resume due to thehysteresis created between tests 8 and 9, as described hereinbefore,which will cause the velocity profile to be maintained, unless 0.3seconds elapse, which will not normally ever happen because only about0.2 seconds are needed to really exceed 1.3 cm/sec with 32.4 or -11.3kgm (steps 8 or 13, FIG. 12) of force on the door.

One feature which is obtained by the characteristics of door controldescribed with respect to FIGS. 11 and 12 is that, in the openingdirection, pulsed nudging is automatically achieved, for cases wheresome form of blockage, such as debris in the path of the door, isinhibiting door motion. If the door should stall when it is partiallyopen, the hysteresis described with respect to tests 8 and 9 in FIG. 11will cause stall to occur 0.3 seconds after the first time that thespeed decreases below about 1.3 centimeters per second. And once thestall is achieved, test 8 will retain the stall condition; but if theimpediment is moved by the stall current, that which in step 9 of FIG.12 amounts to 32.4 kilograms of force on the door (quite high), then thevelocity may exceed 1.3 centimeters per second so that test 3 in FIG. 11will be affirmative. This in turn will cause a position-controlledvelocity which will begin to generate a dictated velocity profile, withinitial forces which are much lower than the opening stall dictatedcurrent force of about 32.4 kilograms. And if the object again impedes,so that the velocity reduces below 1.3 centimeters per second, then thestall hysteresis will again come into play and again apply the high,opening stall force of 32.4 kilograms. The net effect is a transferbetween low velocity profile force and high opening stall current force,at no greater than 0.3 second switching rate.

As described hereinbefore with respect to FIG. 11, if stall dictation isnot reached through a transfer point 5, then position-controlledvelocity profile selection or time-controlled velocity profile selectionmay be reached instead. If position-controlled velocity profileselection is reached through transfer point 16, it will lead to theentry point 1 on FIG. 13. The first step of this subroutine is to testwhether the door is opening or closing in test 2 of FIG. 13. In eithercase, the next tests 3, 4 determine whether or not a heavy hoistway dooris indicated for this particular floor. This may be achieved by ANDing aheavy door floor map with a committed floor pointer (from the operationcontrol). And then, in the selected one of the steps 5-8 a register formaximum acceleration (A MAX) is loaded with a predetermined value ofacceleration for position-controlled velocity for the case of closingwith a light door, closing with a heavy door, opening with a light dooror opening with a heavy door, respectively. And in related steps 9-12 amaximum velocity (V MAX) register is set with predetermined value forvelocity for a position-controlled profile for the case of the doorclosing with a light door, closing with a heavy door, opening with alight door, or opening with a heavy door, respectively. Then, in step13, the slope of the acceleration vs. time profile of the door motion,as described with respect to FIG. 5 hereinbefore and FIG. 16hereinafter, is set to equal the value of A MAX which has just beendetermined in step 5 or 9. Then, the door control program will advanceinto the select acceleration and velocity subroutine describedhereinafter with respect to FIG. 16 through transfer point 14.

As described hereinbefore with respect to FIG. 11, if neither stallcurrent dictation nor a position-controlled velocity profile areselected, then the door control program will proceed, through transferpoint 17 at the bottom of FIG. 11, to the time-controlled profile selectsubroutine, through entry point 1 in FIG. 14. As in the case of profileselection for the position-controlled velocity profile described withrespect to FIG. 13, several tests 2-4 determine whether the door isopening or closing, and whether it is heavy or not, so as to load, instep 7, a corresponding plurality of variables listed in the lower rightof FIG. 14 for convenience, which includes maximum acceleration, plusand minus acceleration slopes, maximum deceleration, plus and minusdeceleration slopes, the position where deceleration begins, the maximumvelocity, and the bench (or final) velocity, all as described withrespect to FIG. 4 hereinbefore. However, these variables are loaded onlyduring the first cycle of a normal door profile as determined by lastcycle stall tests 5 and 6; when the last cycle was not stall, thisloading of variables is bypassed.

In addition, the subroutine of FIG. 14, in the case of door opening,loads two additional variables which include the position at which thecar door, when opening, will pick up the hoistway door, and the velocityto be used (some small velocity) during the first centimeter or so ofdoor travel before the hoistway door is picked up. These variables areloaded for light and heavy doors in selected steps 8 through 11.

The profile controlling parameters which are established in steps 7-11may be modified by a profile modification subroutine, indicated at 12and 13 in FIG. 14, which is described hereinafter with respect to FIG.15.

In the profile selection subroutine of FIG. 14, when the door is to movein the opening direction, a test 14 determines if the door has reachedthe position where it will pick up the hoistway door; if it has not,then time dictated velocity, Vt, is simply set to be equal to a hoistwaydoor pickup velocity in a step 15 and the slope is set to zero in a step15a. Other than the slow initial opening velocity before picking up thehoistway doors, the routine in FIG. D9 is the same for opening as it isfor closing; but the parameters selected and the sense, or polarity, ofparameter comparisons differ. Specifically, when the door is opening, atest 16 initially determines that the velocity has not reached V MID,which is a velocity calculated in FIG. 15 hereinafter, to be that whichis reached during the increasing acceleration from zero to A MAX, andtherefore the velocity which, as the acceleration decreases from A MAXback to zero, will cause V MAX to be reached with zero acceleration, asdescribed with respect to FIG. 4, hereinbefore. Until the velocityreaches V MID, as determined in test 16, the acceleration slope (jerk)used to integrate acceleration for dictated velocity will be +A slope,as set in step 17. And, since test 19 is initially negative, step 20causes the maximum acceleration to be A MAX, as set in one of the steps7. This will result in integrating from zero acceleration and velocity(or hoist velocity when the doors are opening) to maximum acceleration.And maximum acceleration will be reached and stabilized even though theslope factor is still set at +A slope. When maximum acceleration isreached, as is illustrated in FIG. 4, the velocity continues to increaselinearly with time until the point V MID is reached, as determined intest 16. Then, because the slope is a negative slope set in step 18, itwill reduce the acceleration of the door, so that the velocity begins totaper off. When the velocity reaches V MAX, the acceleration should bezero, but if it is not, it doesn't matter since it is not allowed tocross zero, and since the velocity will be held at V MAX and the slightdiscontinuity in smoothness which may result is not important to thedoor motion. When V MAX is achieved, the doors move at the constant,maximum velocity until the door reaches a position defined as thedeceleration position (P DECL). Since this is reached before the doorvelocity will decrease at all, it cannot initially be less than thevelocity when reduction in deceleration is to occur (V END), and a test21 will initially be negative so that a step 22 will set the slope equalto the value of -D SLOPE which was set in one of the steps 7, foropening either a light door or a heavy door. And, since the decelerationportion of the door profile has been reached, the maximum accelerationvalue is changed to the deceleration value, D MAX in step 23. However,this value is not used until the successive, piecewise integration of -Dslope causes D MAX to be reached. And then the velocity is decreasedlinearly by step-by-step integration of D MAX until test 21 indicatesthat the door velocity has decreased below V END. Then, the slope ischanged to +D slope in step 24 of FIG. 14, so that the velocitydecreases less rapidly, and will gradually reach the bench velocity(which is the final velocity after deceleration). This is achieved bydesigning the profile so that the area under the acceleration curve isgreater than the area under the deceleration curve, by an amount equalto a desired, small final velocity at the end of the run to allow thedoors to drive gently into the fully open (or closed) position, asdescribed more fully and claimed in a commonly owned copending U.S.patent application filed on even date herewith by Hmelovsky, Ser. No.107,694. Then, current dictation changes to stall, dictation which hasbeen described with respect to FIG. 12, hereinbefore.

The time-controlled profile selection subroutine of FIG. 14 generatesthe same sort of profile for closing the door, it being borne in mindthat the A MAX, +A SLOPE and -A SLOPE are all on the negative side, andthe D MAX, +D slope and -D slope are all on the positive side, when thevelocity being dictated is in the negative (closing) direction. In suchcase, a test 25 determines if the door velocity being dictated is lessthan V MID, which it is not, initially; as long as this is true, theslope equals +A slope (which is, however, a negative number since thedoor will be accelerating in a negative or closing direction). And, thedoor position is initially greater than the deceleration position (more,positive or open) so that a test 27 will be negative, step 20 willtherefore set the maximum acceleration to A MAX (a negative number foraccelerating the door in the closing direction). Eventually, step 25will be affirmative when the door is at a negative velocity whichexceeds V MID, so that a decreasing negative acceleration is selected instep 28 to allow the acceleration to reduce to zero with a desiredmaximum negative velocity. At this point in time, test 27 will initiallybe negative so that the acceleration value of step 20 remains unchanged.Ultimately, step 27 will be affirmative when the door has closedsufficiently so that it is at a position lower (more nearly closed) thanthe deceleration position which has been set for it. Then test 27 willbe affirmative so that test 29 will check to see if the velocity hasdecreased sufficiently to begin tapering off the deceleration.Initially, this test fails so that step 22 causes the slope to be theincreasing deceleration slope, and at this point, the maximumacceleration is changed to the maximum decelerating value (which in thiscase is a positive acceleration to decelerate the negative velocity).After maximum deceleration is reached in the closing direction,eventually, the negative velocity is reduced (more positive) to V END,so that test 29 is affirmative, and the slope is changed from -D slopeto +D slope in step 24. Since this takes the deceleration away frommaximum, the deceleration will be tapered off and cause the velocity toend up at a negative bench (final) velocity when the doors are almostclosed. Testing of dictated velocity (Vt) rather than actual velocity(which can vary in each operation of the door) assures a knownrelationship between V END, +D SLOPE, and the desired V BENCH.Regardless of which portion of the subroutine illustrated in FIG. 14 isutilized, the door control program advances in each cycle to the selectacceleration and velocity subroutine of FIG. D16 through a transferpoint 30 in FIG. 14.

In the middle of the time-control profile selection subroutineillustrated in FIG. 14, reference is made to the profile modificationsubroutine (12, 13) which is shown in FIG. 15 and is described morefully and claimed in the aforementioned application of Hmelovsky andGames, Ser. No. 107,803. In FIG. 15, the profile modification subroutineis reached through an entry point 1, and test 2 determines the doordirection. If the door is open, steps 3 and 4 will load variables, andwill read in from I/O, switch settings relating to the openingdirection; if test 2 is negative, steps 5 and 6 will load variables andswitch settings relating to the closing direction. It is assumed in thisembodiment that the switches are typical panel switches, such as dual inline package switches, which may be arranged in pairs so as to providetwo binary bits per variable (as described below in FIG. 15), or theymay be independent selection switches to provide the desired binaryvalues. At the start of the modification routine, the modificationvariables for position, PX, and for velocity, VX, are both initializedto zero in steps 7 and 8. The manner in which an operator can tailor thedoor profile is by adjusting the maximum velocity, the bench or finalvelocity, and the position at which V MAX will end (referred to as PDECL, herein); but any change in these factors causes commensuratechanges in other factors. For instance, if only P DECL is changed, thenthat is the only factor which need be changed. But if V BENCH or V MAXare changed, P DECL must be changed as a consequence of them, whether ornot it is purposely changed by the operator. The one thing that mustremain constant is the approximate maximum open or closed door position.The velocity profile should always reach bench velocity just before thedoors are fully open or fully closed. The modification subroutine inFIG. 15 takes that into account by modifying the deceleration positionwith PX as a function of maximum velocity and/or bench velocity. If themaximum velocity switch (or switch pair as the case may be) is set toother than 00, then one or the other of tests 9-11 will calculate a newvalue of V MAX in a corresponding one of the steps 12-14 and will selecta modification to the deceleration position (PX) in the correspondingone of steps 15-17. Similarly, if the bench velocity switch (or switchpair) is set to other than 00, one of the tests 18-20 will select acorresponding V END modification increment (VX) from a corresponding oneof steps 21-23, and will add to the deceleration position modifier (PX)an additional modification in a corresponding one of steps 24-26.Similarly, if the switch (or switch pair) associated with thedeceleration position is set to other than 00, one of the tests 27-29will cause adding an additional factor to the position modifier (PX) ina corresponding one of the steps 30-32, for controlled modification of PDECL.

In the profile modification subroutine of FIG. 15, the point wheremaximum acceleration is to end (V MID) and the point where maximumdeceleration is to end (V END) are both calculated as a function of thevelocity which it is desired to reach. Since V MID is some value lessthan V MAX, and will be reached with accelerations which vary frommaximum to minimum (as is obvious from FIG. 4), the difference between VMAX and V MID is the area under the acceleration curve as it changesfrom A MAX to zero. This area is obviously one half of A MAX times thetime it takes for the acceleration to decrease from A MAX to zero. Butthis time is defined by -A SLOPE, which is by definition A MAX dividedby that time increment. Therefore, V MID is equal to V MAX minus onehalf of A MAX over the time; but the time is A MAX over -A SLOPE. Thisyields one half A MAX squared over -A SLOPE. Since -A SLOPE is itself anegative number when V MAX is positive and a positive number when V MAXis negative the signs work out for opening and closing. Similarly, V ENDis calculated from the desired bench (final) velocity in the samefashion. When the door is opening as determined in test 35, thedeceleration position is modified by subtracting the modification (PX)therefrom in step 36, but when the door is closing as determned by test35, the position modification factor PX is added to P DECL in step 37.Similarly, V END is modified by subtracting VX therefrom in step 38 whenthe door is opening but is added thereto in step 39 when the door isclosing.

Considering the variations of FIG. 15 one at a time, in conjunction withFIG. DX, if a higher maximum velocity is desired, as determined in test9, this velocity is achieved by multiplying V MAX by some number whichis preestablished in the subroutine. Obviously, this could also beachieved by simply adding V MAX to some predesigned value, or bymultiplying it by some variable which also could be set. In any event,step 12 causes V MAX to be increased by 10%. As a consequence of this,the distance which the door must travel is accomplished partly at ahigher velocity, and therefore deceleration from this higher velocitymust occur at a greater distance from the fully closed or openedposition (depending on whether the door is opening or closing).Therefore the factor PX must be subtracted in step 36 from P DECL, tostart deceleration sooner. And similarly, if V MAX is reduced, the pointat which deceleration is to begin may be increased (thereby requiringnegative numbers for PX2 and PX3 in steps 16 and 17).

To adjust the bench velocity, all that is required is to adjust V END sothat the final reduction of deceleration can be started sooner or laterin the profile. However, this will also vary the position which the doorwill be at when the bench velocity is reached. Therefore, the entiredeceleration portion of the profile can be moved relative to position byadjusting PX as well. This can cause the bench velocity to be reached ata desired position even though the velocity may be different. And, thepositioning of the deceleration portion of the profile can be separatelyadjusted by means of the adjustment to P DECL, the position where thedeceleration portion begins. This means that even the positionaltailoring that may accompany V MAX or V BENCH variations can itself betailored as well, to accommodate variations in door size, after theinitial factors are set into the cab controller ROM.

The profile modification subroutine of FIG. 15 may be utilized in anygiven elevator where door behavior differs from that which isempirically determined for elevator cabs of the type involved. Thismodification may be used, temporarily, pending determination ofsluggishness or other characteristics of the door which may requireextensive maintenance or new parts.

Completion of the profile modification subroutine of FIG. 15, includingthe generation of V MID and V END, whether or not any modifications areperformed (none will be if all switches are set to 00), causes thetime-controlled profile selection subroutine FIG. 14 to be resumed, byreturn through an exit point 40 on FIG. 15 to either test 14 or test 25in FIG. 14.

When either the position-controlled profile selection subroutine of FIG.13, or the time-controlled profile selection of FIG. 14 is complete, thedoor control program continues through the select acceleration andvelocity subroutine of FIG. 16 through entry point 1 therein. Theacceleration in the case of the timecontrolled velocity profile(illustrated in FIG. 4) starts out at zero with the doors fully open orfully closed, and is built up, incrementally, in each cycle by the +ASLOPE (set in FIG. 14), until it reaches A MAX, where it is clamped, andthereafter is decremented with a -A SLOPE, etc. After A MAX is reached,the incrementing still continues, but the accleration is limited to AMAX. In a case of a position-controlled velocity profile, the slope isset equal to A MAX (FIG. 13), so the acceleration becomes A MAX duringthe first cycle. Thereafter, A MAX is continuously added to itself, butthe actual acceleration is limited to A MAX, as is described hereinafterwith respect to FIG. 16. Specifically, the incremental addition toacceleration (stepwise integration) is performed in step 2, regardlesssof what value of acceleration is achieved and regardless of whether atime or positioncontrolled velocity profile is being generated. Then, intest 3, A MAX is tested to see if it is negative. If it is, this meansthat either deceleration is being performed during door opening, oracceleration is being performed in door closing. In such case, a step 4sets a buffer valve of A MAX which is equal to negative A MAX, and astep 5 reverses the sign of the actual acceleration that has beenachieved. This provides a maximum acceleration factor and theacceleration itself in positive or absolute value format for somecomparisons to be made. If step 3 is negative, the maximum buffer is setequal to A MAX without inversion to permit using it for limiting theacceleration to the maximum value. Specifically, a test 7 determines ifthe acceleration exceeds the maximum buffer, and if it does, it causesstep 8 to limit the acceleration to that in the maximum buffer. Andthen, a test 9 determines if the acceleration is less than zero (in thissense it is an absolute magnitude, and does not matter if it isacceleration or deceleration in a door closing or a door openingprofile, respectively). If the acceleration has decelerated below zero,it is limited to zero in step 10. And then, a test 11 determines whetherA MAX is negative (a corollary to step 3) and if so, reverses the signof the acceleration to resort to its original negative value in step 12.Taken altogether, test 3 through step 13 simply comprise testing theabsolute value of acceleration against A MAX and zero and limiting theacceleration to values between zero and A MAX.

The subroutine of FIG. 16 then continues with a test 13 to determine ifinitiation has been requested. If it has, V MAX is set to about 4.5centimeters per second in step 14, and the acceleration is set to about40 centimeters per second per second in step 15. Since both of these arenegative, this will attempt to close the door with a limitedacceleration and velocity; and since the initiation automatically causesa positioncontrolled profile, this low acceleration and velocity will bereduced when it exceeds the position dictated velocity to the target (alow bench velocity), as described with respect to step 23 of FIG. 16hereinafter, so that the door will approach fully closed in a controlledslow fashion. On the other hand, if initiation has not been requested,test 13 will be negative so that test 16 can determine whether or notthe high force flag is set. If it is, then test 17 will cause themaximum velocity and the acceleration to be limited in steps 18 and 19or in steps 20 and 21, in dependence upon whether a heavy door isinvolved or not, respectively. But if the high force flag is not set,test 16 will be negative and test 22 will determine the door direction.If the door is closing, test 22 is negative so that test 23 candetermine whether or not a safety nudge is ordered; if it is, then theacceleration and velocity are limited by steps 18-21 as describedhereinbefore. If safety nudge has not been ordered, then a test 24 willdetermine if door reversal is permitted and required. If it is, then areverse acceleration flag is tested in test 25. The flag is set onlywhen test 25 fails so that this is a one-passonly type of flag. Thefirst time through test 25, it must fail so that a reverse accelerationvalue is calculated as the square of door velocity divided by 7.5centimeters, which is twice the desired stopping distance during a doorreversal, as described more fully and claimed in a commonly ownedcopending U.S. patent application filed on even data herewith bySchoenmann and Deric, Ser. No. 107,692. This relationship may beunderstood from the fact that velocity equals acceleration times time,and the stopping distance equals one half the acceleration times thesquare of time. So twice the desired stopping distance is accelerationtimes the square of time; but the time is equal to the velocity dividedby the acceleration and this yields a net result that the accelerationequals the square of the velocity over twice the desired distance. Thisis set only one time because door velocity will of course change but theacceleration required for the stopping distance should remain the samein the several cycles it may take in order to stop the door during adoor reversal. Therefore, step 27 sets the reverse acceleration flag sothat the reverse acceleration value will not be altered. The reverseacceleration flag remains set until it is reset upon the completion ofdoor reverse stopping, and the commencement of the opening phase of thedoor reversal, as is described hereinbefore with respect to the doordirection subroutine in FIG. 9.

The factors of steps 14, 15, 18-21, and 26 may vary from oneinstallation to another. The select acceleration and velocity subroutineof FIG. 16 is ended by reaching a transfer point 28 which causes thedoor control program to continue with the generation of the positioncontrolled velocity by means of the generate Vp subroutine, which isentered in FIG. 17 through an entry point 1.

If a position-controlled velocity profile has not been ordered, asindicated in a test 2, of FIG. 17 then this subroutine is exited througha transfer point 3. But if position-controlled velocity has beenordered, then a test 4 determines the door direction and generates theposition-controlled velocity profile (more specifically, thedeceleration portion of the velocity curve, as illustrated in FIG. 5) asa constant times the remaining distance. When the door is opening, theremaining distance is the full open position minus the door positionminus the target (which is an increment of distance from full open tothe desired point of intersection with bench velocity). The same is truewhen a door is closing, except the fully closed position is zero andtherefore can be eliminated from the calculation. Thus, velocity as aconstant function of the remaining distance to be traveled is calculatedin either steps 5 or 6 depending on whether the door is opening orclosing, respectively. As an alternative, velocity (Vp) may be dictatedas the square root or some other function of remaining distance. Whenthe door is closing, a negative velocity is dictated and when the dooris opening, a positive velocity is dictated. Then, in tests 7 and 8 thevelocity is tested to see if it is more positive (if opening) or morenegative (if closing) then some final bench velocity, and if so, thevelocity is appropriately limited in steps 9 or 10, respectively. In ageneral case, the "target" identifies a position where the benchvelocity will provide a smooth transition from the dictated velocity(nearly fully opened or closed).

Whether or not a position controlled velocity is dictated, the doorcontrol program leaves the generate Vp subroutine of FIG. 17 throughtransfer point 3 and enters a generate Vt & Verr subroutine of FIG. 18through entry point 1 therein. On the first pass of a velocity profile(that is, other than stall), test 2 determines if the last cycle wasstall and if so, resets the last cycle stall flag in step 3 and alsocauses the time-controlled velocity, Vt, to be equal to the present doorvelocity in step 4. The reason for this is that if the last cycle wasstall, the velocity profile is reached only by achieving a minimum doorvelocity with a stall current, as described with respect to FIGS. 11 and12 hereinbefore, or an obstruction could be overcome, allowing the doorto move freely, thus exceeding the stall velocity. This is taken intoaccount so as not to have any step function increment in the doorvelocity as a function of calculating a velocity profile following astall. Then, a test 5 determines if the door is opening, and if not, atest 6 determines if a permissible reverse door command is outstanding.If it is, then the time-controlled velocity has the reverse accelerationadded to it (in piecewise integration) in step 7 and the accelerationintegration process is reset in step 8 so as to be available in a resetstate the next time that a normal door profile is to be generated. Andthen, test 9 determines when the door reversal is complete (a positive,opening velocity) and clamps the velocity at zero in step 10. Followingthat, Verr is calculated as the dictated velocity Vt minus the actualdoor velocity in step 11.

In the subroutine of FIG. 18, if the door direction is closing but test6 determines that no reversal is involved, then a test 12 determines ifthe closing velocity exceeds (is more negative than) V MAX, and if itis, the acceleration value is added to Vt for stepwise integrationtoward V MAX in step 13; this condition could occur when, as describedwith respect to the select acceleration and velocity subroutine of 16, ahigh force flag or safety nudge causes V MAX to be reduced to somefraction of normal. This process of causing the negative velocity to berendered more positive (reduced) continues until a test 14 determinesthat the velocity is now more positive than V MAX, and it is thereafterclamped at V MAX in step 15. On the other hand, if test 12 determinedthat the velocity was less than V MAX when in the closing direction,then the velocity would be rendered more negative by one increment ofthe acceleration in a piecewise integration fashion in step 16, untilsuch time as a test 17 determined that the velocity was more negativethan V MAX (in the closing direction) at which time step 15 would clampthe velocity at V MAX.

In a similar fashion, if test 5 in FIG. 16 determines that the door isopening, then a test 18 determines if the velocity is greater than VMAX, and if it is, the velocity is reduced in step 19 (which may benecessary whenever high force or safety nudge reduces the maximumvelocity in this cycle) so as to cause the dictated velocity to reduceitself to that commanded by stall or nudging. This would continue untilthe velocity is so reduced as determined in test 17, after which itwould be clamped at V MAX by step 15.

But if step 18 in FIG. 16 determines that the velocity is not in excessof V MAX, then it may be incremented cycle after cycle in step 20, ineach pass through test 18, until test 14 determines that it has exceededV MAX, in which case step 15 will cause it to be clamped at V MAX. If atest 21 determines that this is not a positioncontrolled velocityprofile, then Verr is generated as described hereinbefore in step 11.But if this is a position-controlled velocity profile, the absolutemagnitude of Vt is compared with that of Vp, and once it equals Vp, theVp profile will take over from Vt due to Vt being set equal to Vp instep 23. In this connection, it should be noted that Vt, for aposition-controlled velocity, is simply some maximum velocity which isestablished for a position-controlled profile until such time asdeceleration for reaching V BENCH at an intended position is achieved,by crossing Vp, as is described hereinbefore with respect to FIG. 5.

When Verr has been generated in step 11, the door control programoperates through transfer point 24 so as to enter the dynamiccompensation subroutine of FIGS. 19 and 20 through the entry point 1.

The dynamic compensation subroutine of FIG. 19 begins with a test 2 todetermine whether integral gain should be provided to the velocity errorwhich will be used to calculate the dictated door motor current. If aposition-controlled velocity profile is being generated, the integralgain factor X is set to zero. But if a time-controlled velocity profileis involved, then a new value (Xm) of an integral gain factor, expressedas a magnitude of motor current, is generated in a step 4 as someintegral gain constant (Kint) of the velocity error plus a previouslycalculated valuefor X (Xn). In order to be sure that the integral gaindoes not overshoot, which would provide a velocity error (not the basicvelocity) with a sign opposite to the previous velocity error, a test 5detects whether the sign of Verr has remained the same from the lastcycle to the present cycle; if not, this means there is an overshoot andVerr is being overcompensated so that test 5 will be negative and theintegral gain current factor (Xm) will be set to zero in step 3. If test5 is affirmative, then a test 6 determines if the velocity error iswithin bounds of between minus and plus 0.6 centimeter per second. If itis, the error is acceptable no integral gain is used. But if Verr isgreater than the threshold value of test 6, the assistance of integralgain is desired, so that integration is not reinitialized by step 3.

In FIG. 19, the next step 14 generates a calculated motor current (ICALC) as the summation of: the current generated with integral gain(Xm), plus a proportional gain constant (Kp) times the velocity error,plus some rounding that may be performed in a given embodiment of theinvention, in dependence upon the particular processing system used andthe conventions for the data which may be chosen. On the other hand, norounding factor need be used; in cases where it is not demanded by theprocessor nor desired. In step 15, the value of Xm is saved as Zn foruse in subsequent cycles in the integration process referred tohereinbefore.

In order to assist in stopping a closing door during a door reversal sothat the door may thereafter be opened, a test 16 in FIG. 19 determinesif there is a reverse door command and the open door command has not yetissued. If this is the case, the test is affirmative and a test 17 ismade to see if this is the first pass through the subroutine since test16 became affirmative. If it is the first pass, test 17 will be negativeand cause steps 18-21 to be performed one time. Since step 21 will setthe Kick flag, subsequent passage through test 17 will be affirmativeand steps 18-21 will be bypassed. These steps provide an additionalcurrent component to the door motor, referred to herein as a reverseboost or Kick current, to assist in rapid stopping of the door whenreversal has been commanded, as set forth in the aforementionedapplication of Schoenmann and Deric. The kick current is a filteredfunction of the door velocity at the time the reversal is commanded. Thefilter is a derivative lag filter, having the general frequency domainform of s/(s+t), where t is the time constant, here t=3. This may beexpressed, for iterative digital approximation as follows.

    I KICK=Kk(Vo-Vn)

where:

I KICK=the reverse boost, or Kick, current

Kk=the gain constant for Kick current

Vo=the door velocity at the start of a door reversal

Vn=a velocity component as a function of each pass of the programthrough the filter algorithm:

    Vn=(Vo)e.sup.-3T +(1-e.sup.-3T)Vm

where: Vm=the value Vn of the preceeding cycle, and T=time duration ofeach cycle. This value of current component is intially high and dropsoff to a small amount in about 1/3 second. It is sufficient to overcomebacklash in reversing the door against its inertia, to aid the dictatedacceleration (the square of the initial velocity, Vo, over twice thestopping distance, step 26, FIG. 16) in stopping the door within thedistance required by the elevator code, such as about 5 cm. In thisembodiment, stopping within 3.75 cm of the reverse command is effected.

In FIG. 19, if test 16 indicates door reversal, but not the pointthereof where the door has stopped or slowed sufficiently to becommanded open, a test 17 checks a "once-only" Kick flag. If test 17 isnegative, steps 18-20 initialize the filter routine, and step 21 setsthe Kick flag so these steps will be bypassed in subsequent iterations(test 17 will then be affirmative). Then steps 22 and 23 generate avalue of Kick current for successive Vm's in each cycle, step 24 updatesVm, and the Kick current is added to dictated current in Step 25.

In FIG. 19, whenever door reversal is not being initiated, test 16 isnegative, and step 26 resets the Kick flag. In each cycle other thanduring the initial phase of a door reversal, the dictated current is setequal to the calculated current by step 27.

The dynamic compensation subroutine of FIG. 19 passes through a transferpoint 30 to reach the entry point 1 of the continuation of the dynamiccompensation subroutine on FIG. 20.

In FIG. 20, test 2, if a door reversal is commanded and not prevented bynudge, when the door is closing, high currents can be expected, and thehighforce portion of the subroutine is therefore bypassed by anaffirmative result. Otherwise, in test 3, if there is a safety nudge,meaning that the operation control has determined that the door isprobably blocked and should be nudged along, and if the door is closing(since an opening door need not be gently nudged), or if the high forceflag is set, an affirmative result will lead to a step 4 which generatesa limiting current equal to about 11.3 kilograms times the factor Dwhich has been described hereinbefore, the limiting current being in thenegative or closing direction. This is the same force as that of aclosing stall force (step 13, FIG. 12), which is within the safety codelimit. If the absolute value of dictated current exceeds some limitingvalue of current in test 5, then a test 6 determines the polarity and,dictated current is clamped to the limiting current in either step 7 or8. The test accommodates current direction regardless of opening orclosing direction, and even when overshoot in Verr causes currentpolarity to be opposite to door direction.

In FIG. 20, if test 3 is negative, meaning high force and nudging arenot involved, then a test 9 determines whether the door velocity hasreached maximum or not. If it has, there is no force required foracceleration and Verr should be small, so the door should be moved withrelatively small currents compared to the currents required to achievemaximum velocity or to decelerate therefrom. Therefore, a test 10determines if the absolute magnitude of the dictated current exceeds 2amps. But if test 9 is negative, meaning that the door is acceleratingor decelerating, then the absolute magnitude of dictated current iscompared with 4 amps in a test 11. If excessive dictated current isdetermined in test 10 or test 11, then a test 12, comprising a highforce timer, determines if this condition has existed for about 0.3seconds. If it has not, it is assumed that this was caused by noise orsome other transient condition, and no action is taken; but if it has,the high force flag is set in step 13, and the high force limitedcurrents for 11.3 kgm, the same as a closing stall force, is generatedand utilized as described with respect to steps 4-8 hereinbefore. Eachtime test 10 or 11 is negative, the high force timer (test 12) is resetin step 14. It is also reset whenever the high force current dictationis followed by stall (step 3, FIG. 12).

In FIG. 20, a step 15 adds the compensation current to the dictatedcurrent, and tests 16 and 17 determine if the dictated motor current ismore than +4 amps or less than -4 amps, and steps 18 and 19 clamp thecurrent to +4 amps or -4 amps, respectively, if necessary. Thus, thecompensated current dictated to the motor cannot exceed 4 amps. In thenormal case, where high force or nudge are not indicated, tests 2, 3, 10or 11, are negative, so this routine only adds the compensation andtests for the 4 ampere (or other) limits, and outputs the dictatedcurrent by means of the subroutine 9a, FIG. 6, which is reached througha transfer point 20, FIG. 20. This completes the time orposition-controlled velocity profile and current dictation to the doormotor, so that the executive program is returned to, through a returnpoint 16 (FIG. 6).

From the foregoing description, it is clear that the present inventionprovides a closed loop door motion control, employing factors to providea dictated door velocity in accordance with desired variables. Theforegoing description includes general and detailed description of theelements of an elevator door control system in which the invention maybe practiced. The invention, however, is particularly expressed in FIGS.11, 13 and 14. The parameters to control the profile are all selectedfrom stored variables in FIG. 11, in dependence upon whether a heavydoor, such as a lobby landing hoistway door, must be moved with theelevator door, and depending on whether the door is to be opened orclosed in the subsequent traverse of the door. A heavy door may beindicated, such as by ANDing a map of floors with heavy doors with acommittable floor position pointer. And in FIG. 11, depending upon doorposition and the dictated velocity, further selection of the variablesto be used in the current cycle of the door profile is made. In FIG. 14,the acceleration value is incremented or decremented by the selectedslope, and the acceleration and maximum velocity in the event that highforce has been sensed or that the operation controller has commanded anudge profile. This is illustrative of the simplicity of altering doormotion, when the present invention is utilized. In FIG. 14, the dictatedvelocity is calculated by incrementing it with the current accelerationvalue, or it may be decremented, if the velocity is greater than themaximum velocity, and it is limited to maximum velocity in any event.The velocity error is also generated in FIG. 14. In FIG. 15, thevelocity error is converted to a dictated current (I DICT) whichcomprises the actual door motion command signal. The other functionsillustrated in FIGS. 13-16 are illustrative of features which may beutilized with the present invention, which are described more fully andclaimed in the aforementioned copending patent applications.

Perhaps the greatest feature of the present invention is that the dooris controlled by a dictated velocity profile. The door is controlled ineach cycle in dependence upon the deviation of the actual door velocityfrom a dictated velocity value that represents the desired door velocityprofile in the current cycle. In the present embodiment, the dictatedvelocity value for each cycle is calculated in each cycle. However, inany system in which no changes in the profile are to be performed (suchas the nudge profile alteration of FIG. 13) and where storage of valuesis to be preferred over calculation capability, the profile could beprestored for a given door, thus avoiding the need of calculation ineach cycle. But another aspect of the invention is that since thedictated velocity value for use in each cycle is calculated in thatcycle, variations can be applied as the velocity profile proceeds, thusderiving a greater value from the invention.

The particular rates of acceleration, maximum velocity, acceleration anddeceleration, and the like, which are employed in any implementation ofthe present invention will be determined in dependence upon thecharacteristics of the door, and the particular installation where theinvention is to be used. These particular values will, therefore, varywidely from one case to the next. However, a typical 107 cm double doorhas been successfully controlled by a closing profile using values ofjerk (+A SLOPE, -A SLOPE, -D SLOPE and +D SLOPE herein) of 80 cm/sec³, AMAX of 33 cm/sec², D MAX of 29.2 cm/sec², V MAX of 33 cm/sec and a VBENCH of 5 cm/sec. The opening profile may be more aggressive, sincedoor inertia does not threaten passenger safety. In fact, the +A SLOPEcan be selected to provide A MAX in a single iteration (eg, one 16 mscycle): a successful opening profile of the door described above hasused an A MAX of 44.5 cm/sec², and a +A SLOPE of 2778 cm/sec³, amountingto a step function acceleration. This, however, has proved usefulbecause it overcomes the step function increase in mass which the doormechanism must accelerate as the elevator door engages the hoistwaydoor. Other parameters of said opening profile include -A SLOPE, and -DSLOPE of 159 cm/sec³, D MAX of 43 cm/sec², +D SLOPE of 80 cm/sec³, V MAXof 41 cm/sec, and V BENCH of 5 cm/sec. These parameters, and the generalprofile, must be selected to suit the environment where the invention isto be used (including a more limited +A SLOPE than described above, ifdesired). And, the beginning and/or final desired velocities may bezero, if desired.

In the exemplary embodiment herein, particular steps have been shown asexemplary of the preferred mode for carrying out the invention; however,a wide variety of variations in the particular steps, and in the mannerin which some of the variables can be changed or not, may be made whilestill preserving the essential aspects of the invention.

Similarly, although the invention has been shown and described withrespect to an exemplary embodiment thereof, it should be understood bythose skilled in the art that the foregoing and various other changes,omissions and additions may be made therein and thereto, withoutdeparting from the spirit and the scope of the invention.

We claim:
 1. Elevator door apparatus, comprising:a motor driven elevatordoor mechanism; demand means for providing signals indicative of demandsto open or close said elevator door; position means providing signalsrelated to the position of said elevator door; and control means forcontrolling said door mechanism in response to said demand signals andsaid position signals; characterized by: said position means comprisinga transducer for providing signals which vary as a function of theposition of said door mechanism; and said control means comprisingcyclically operative signal processing means for providing, in responseto said transducer, signal indications of the position and velocity ofsaid door, and, in response to said demand means and said position andvelocity signal indications, for providing, in each of a series ofcycles throughout a period of time equal to the desired door traversetime, a dictated door velocity signal equal to the velocity which thedoor is desired to have during such cycle in accordance with a desireddoor traverse velocity profile derived from values of desired rates ofacceleration and deceleration and desired maximum velocity, accelerationand deceleration, and cyclically providing motion command signals tosaid elevator door mechanism in response to the difference between saiddictated velocity signal and said door velocity signal indication; saidsignal processing means comprising means for calculating said dictateddoor velocity signal in each of said cycles in response to signalsrepresenting said desired rates of acceleration and deceleration andsaid desired maximum velocity, acceleration and deceleration, and meansfor providing said dictated velocity signal by increasing an initialvelocity value in each cycle by an acceleration value which begins atzero and increases in each cycle at a desired rate of increasingacceleration until said acceleration value represents said desiredmaximum acceleration, thereafter increasing said velocity value in eachcycle by said desired maximum acceleration value until said velocityvalue achieves a first value from which it can be increased to a valuerepresenting said desired maximum velocity by an acceleration valuewhich decreases in each cycle at a desired rate of decreasingacceleration until it reaches zero, thereafter increasing said velocityvalue in each cycle by said acceleration value which decreases in eachcycle until said velocity value represents said desired maximumvelocity, thereafter holding said velocity value constant in each cycleuntil said position signal indication represents a deceleration positionof said door from which said door can be decelerated to a desired finalvelocity in response to said dictated velocity signal when said dictatedvelocity signal is provided as follows, thereafter decreasing saidvelocity value in each cycle by a deceleration value which begins atzero and increases in each cycle at a desired rate of increasingdeceleration until said deceleration value represents said desiredmaximum deceleration, thereafter decreasing said velocity value in eachcycle by said desired maximum deceleration value until said velocityvalue achieves a second value from which it can be decreased to a valuerepresenting said desired final velocity by a deceleration value whichdecreases in each cycle at a desired rate of decreasing decelerationuntil it reaches zero, thereafter decreasing said velocity value in eachcycle by said deceleration value which increases in each cycle untilsaid velocity value represents said desired final velocity.
 2. Elevatordoor apparatus according to claim 1 further characterized by said signalprocessing means comprising means for providing a plurality of signalsrespectively representing said desired rate of increasing acceleration,said desired maximum acceleration, saif first velocity, said desiredrate of decreasing deceleration, said desired maximum velocity, saiddeceleration position, said desired rate of increasing deceleration,said desired maximum deceleration, said second velocity, and saiddesired rate of decreasing acceleration, for comparing said dictatedvelocity signal with said first velocity signal, for setting a slopesignal equal to said desired rate of increasing acceleration signal ifsaid dictated velocity is less than said first velocity, for settingsaid slope signal equal to said desired rate of decreasing accelerationsignal if said dictated velocity is greater than said first velocity,for comparing said door position with said deceleration position and, ifsaid door position is less than said deceleration position, for settinga maximum acceleration signal equal to said desired maximum accelerationsignal, and, if said door position is greater than said decelerationsignal, for setting said maximum acceleration signal equal to saiddesired maximum deceleration signal, for comparing said dictatedvelocity signal with said second velocity signal and for setting saidslope signal equal to said desired rate of increasing decelerationsignal if said dictated velocity is greater than said second velocity,and for setting said slope signal equal to said desired rate ofdecreasing deceleration signal if said dictated velocity is less thansaid second velocity, for providing an acceleration signal which is zeroin the first cycle and increases in each cycle by the amount of saidslope signal, and for providing said dictated velocity signal byaltering in each cycle, by the amount represented by said accelerationsignal, a signal which is set in the first cycle to equal said doorvelocity indication signal.